Table of Contents

Cyber Risk Monitoring: A Graph-First Approach

Matt Tanner
Head of Developer Relations
|
May 26, 2026

Every organization has cyber risk. The question is not whether threats exist but whether your team can see them clearly enough to act before they become incidents.

Most security teams today aren't short on data. They have endpoint logs, cloud audit trails, authentication records, vulnerability scans, often more telemetry than they can meaningfully process. What they lack is the ability to see how that data connects. How a misconfigured cloud resource relates to an identity with elevated privileges. How a vulnerability on one service creates exposure on three others downstream. How an attacker, given a single foothold, could move through your environment.

That gap between data and connected understanding is where most monitoring programs fall short, and where the most consequential security failures tend to originate.

Cyber Risk Is a Relationship Problem

A SOC analyst gets an alert, a service account made an unusual API call at 2am. In a flat log system, that's one event to investigate. In a graph, it's the start of a path, and the real question is where that path leads.

Does that service account have access to a production database? Does that database contain customer PII? Are there other services that trust it implicitly? The alert doesn't change. But the risk it represents changes dramatically depending on what that account connects to.

This is the core insight that separates effective cyber risk monitoring from ineffective monitoring, risk doesn't live in individual events or assets. It lives in the relationships between them.

An unpatched CVE on an isolated internal system is a maintenance task. The same CVE on a service reachable from the internet, with a downstream connection to a payment data store, is a critical exposure. A dormant user account is low priority. That same account, still carrying admin-level permissions on five cloud resources, is an attack waiting to happen. The asset itself hasn't changed. The relationship context is everything.

Traditional monitoring architectures weren't built to reason this way. They were built to collect events and match them against rules. That works well for known, discrete threats. It struggles badly when the real danger isn't in any single node but in the path between them, which is exactly how modern attackers operate. They don't breach organizations in one move. They find a foothold, map the relationships around them, and traverse toward their target. Monitoring programs that can't follow that same logic will always be reacting after the fact.

What Cyber Risk Monitoring Actually Needs to Answer

Cyber risk monitoring is the continuous practice of observing, analyzing, and responding to threats across an organization's digital environment. Not a one-time assessment, not an annual audit, but an ongoing operational discipline that keeps security teams informed about what is happening at any given moment.

Done well, it needs to continuously answer three things. What is exposed, meaning which vulnerabilities are actually reachable from outside the organization or connected to something critical inside it. What is happening, meaning active threats, anomalous behaviors, and early indicators of compromise right now. And what is the blast radius, meaning if something goes wrong, how far could it reach.

That third question is the one most monitoring programs answer least well, because answering it requires understanding not just what an asset is, but what it connects to and how far that chain extends. A compromised account in isolation is a problem. That same account, connected to three internal services, two of which have access to sensitive customer data and one of which has a trust relationship with a production deployment pipeline, is a different order of risk entirely. The difference isn't in the event. It's in the graph.

Why Traditional Monitoring Falls Short

Security teams aren't failing because they lack data or effort. They're failing because the tools most monitoring programs are built on were designed for a different era, one where the network had a clear perimeter, assets were mostly static, and threats moved slowly enough that rule-based detection could keep up. According to IBM's 2024 Cost of a Data Breach Report, the average breach now costs $4.88 million, a 10% jump from the prior year, and takes organizations an average of 204 days just to identify. 

The flat log problem

Most monitoring pipelines are built around event logs. Something happens, it gets recorded, and a rule or threshold determines whether it warrants attention. A flat log can tell you that a user authenticated from an unusual location. It cannot tell you that the same user has access to six cloud storage buckets, three of which are publicly accessible, and one of which contains unencrypted financial records. That answer requires traversing a graph, not querying a log.

Siloed tools create blind spots

Most organizations run separate tools for identity, network, endpoint, cloud, and vulnerability management. Attackers don't respect those boundaries. A real attack path might look like this:

  • A phishing email compromises a contractor's credentials
  • Those credentials have access to an internal developer tool
  • That tool carries a service account with elevated cloud permissions
  • Those permissions reach a data store with customer records

Each step might be visible in a different tool. None of those tools, on their own, can see the full path. And without the full path, the risk is invisible until it becomes an incident.

Alert fatigue hides what matters

When context is missing, the natural response is more alerts. More rules, more thresholds, more notifications, and the result is enormous volume with very little signal. Security teams end up triaging alerts that look suspicious but are benign, while the alerts that represent genuine connected risk get buried in the noise. The issue isn't sensitivity. It's the absence of relationship context that would immediately separate a real threat path from a false positive.

Modeling Your Security Environment as a Graph

The shift from event-based to graph-based monitoring starts with representing your environment differently. Instead of isolated records in separate tables, you model it as a network of connected entities with meaningful relationships between them.

In a security graph, every entity becomes a node, users, devices, cloud resources, applications, vulnerabilities, data stores, and every meaningful relationship between them becomes an edge. Which identities can reach which resources. Which services communicate with which other services. Which assets carry known CVEs. Which third-party integrations have access to internal systems.

Once your environment is modeled this way, the questions you can ask change fundamentally. You move from "what happened to this asset" to "what can reach this asset, and what can this asset reach." Which internet-facing services have a path to sensitive data stores within three hops? Which user accounts are inactive but still carry permissions to production environments? If this CVE were exploited on this service, what is the maximum blast radius? These are not edge cases. They are the questions that determine whether your organization is genuinely secure or just generating reports that say it is.

One practical barrier teams face is the assumption that graph-based monitoring requires standing up a dedicated graph database and migrating everything into it, which means ETL pipelines, data duplication, synchronization delays, and a new system to maintain. This is where PuppyGraph takes a different approach. Rather than requiring you to move your security data into a new store, PuppyGraph queries your existing data lakes and warehouses directly as a live graph. Your endpoint logs, identity data, cloud audit trails, and vulnerability records stay where they are. The graph reflects your actual current environment, not a snapshot from the last sync, which matters enormously when the shape of your exposure can change within hours.

Graph Traversal Across Risk Types

With a graph model in place, the way you think about each category of cyber risk changes. Instead of monitoring risk types in isolation, you start seeing how they connect and where the real exposure actually lives.

Identity risk stops being a question of whether an account is behaving unusually and becomes a question of what that account can reach. A single compromised identity might have direct or indirect access to dozens of resources. Graph traversal surfaces dormant accounts still holding active permissions, privilege escalation paths where a low-privilege account can reach high-value assets through a chain of trust relationships, and service accounts with broader access than their function requires.

For vulnerability and configuration risk, reachability changes everything. A CVE that scores high on CVSS but sits on an isolated internal system with no downstream connections is a low operational priority. The same CVE on a public-facing service with a three-hop path to a payment database is an emergency. Graph traversal makes that distinction automatic rather than manual.

Third-party and supply chain risk is the category traditional tools handle the worst, because vendor and SaaS access is rarely modeled explicitly. In a graph, every third-party integration becomes a node with edges representing exactly what it can reach, making it possible to immediately answer which vendors have a trust relationship with services that handle regulated data, and what the blast radius would be if a given integration were compromised.

The most important thing graph traversal reveals across all of these is that risk categories are not actually separate. An identity risk becomes a data risk the moment a compromised account has a path to a sensitive store. A configuration risk becomes an infrastructure risk when a misconfigured resource is used to establish a foothold. The connections between risk types are where the most dangerous exposures live, and they are exactly what a flat, siloed monitoring program will never see.

Cyber Risk Monitoring vs. Risk Management

These two terms get conflated often enough that it's worth being precise, because treating them as the same thing leads to programs that do neither well.

Dimension Cyber Risk Monitoring Risk Management
What is it Continuous operational observation of the live environment Strategic discipline for identifying, assessing, and governing risk
Primary output Real-time alerts, threat intelligence, live risk signals Policies, risk registers, investment decisions, control frameworks
Time horizon Now, what is happening in the environment at this moment Over time, how risk posture evolves and how controls perform
Who owns it Security operations teams, analysts, threat hunters CISOs, risk managers, compliance and governance teams
What it feeds Incident response, threat hunting, detection engineering Board reporting, audit readiness, security investment planning
Failure modes Alert fatigue, blind spots, stale data Outdated risk assessments, controls that look good on paper but fail in practice
What graph adds Relationship context that turns alerts into actionable threat paths Live evidence that control frameworks reflect how the environment actually connects

Risk management defines what matters and sets the strategy. Monitoring tells you whether that strategy is working right now. Frameworks like NIST CSF 2.0 formalize this separation, distinguishing continuous monitoring as an operational function from the governance and risk management functions that set policy and direction. Where organizations get into trouble is treating monitoring as a periodic exercise. Risk posture gets assessed on a schedule while the actual threat landscape shifts daily. The gap between the documented risk profile and the environment's live reality is precisely where attackers operate. 

A graph-based monitoring program closes that loop. It doesn't just generate alerts for the operations team. It produces a continuously updated picture of how the environment connects, grounding risk management decisions in live structural reality rather than the last assessment cycle. When a CISO asks whether a control framework is actually working, the answer should come from a live graph showing exactly which paths to sensitive data exist right now, not a spreadsheet updated six months ago.

Building a Graph-First Monitoring Program with PuppyGraph

Most organizations already have the raw material for a graph-based monitoring program. Endpoint logs, identity records, cloud audit trails, vulnerability scan outputs, network telemetry, it's all being collected somewhere. The gap is rarely in the data itself. It's in the inability to query that data as a connected graph rather than a collection of isolated tables.

Start with what you already have

Before adding new tools or pipelines, map what you already collect and where it lives:

  • Identity and access data from your IdP, Active Directory, or cloud IAM systems
  • Endpoint telemetry from EDR tools and OS-level logging
  • Cloud audit trails from AWS CloudTrail, Google Cloud Audit Logs, or Azure Monitor
  • Vulnerability data from scanners like Qualys, Tenable, or Wiz
  • Network flow data from firewalls, proxies, and cloud VPC logs
  • Application logs from internal services and third-party integrations

Most of this already sits in a data lake or warehouse. The question is whether your monitoring program can query across all of it as a unified connected model.

Define your schema around threat paths

From there, define your graph schema around the relationships that matter most for your threat model. Which identities can reach which cloud resources. Which services communicate with each other. Which assets carry known vulnerabilities and whether those assets are internet-facing. Which third-party integrations have access to internal systems. These relationship types alone, modeled correctly, will surface more actionable risk than most alert-based monitoring programs produce in a month.

Where PuppyGraph fits

PuppyGraph is built to make this practical without the infrastructure overhead. It is a zero-ETL graph analytics engine that connects directly to your existing data lakes and warehouses, whether that's Databricks, BigQuery, Amazon S3, Apache Iceberg, or Delta Lake, and queries them as a live graph without duplicating or moving the data. Deployment to first query takes under 10 minutes, and it supports production environments running 5 to 10 petabytes of data with multi-hop graph queries completing in seconds.

One cybersecurity platform used PuppyGraph to build a real-time threat and exposure management system, modeling assets, identities, vulnerabilities, and controls as a connected graph and enabling contextual risk scoring and blast radius analysis that their previous SQL-based tooling couldn't support. A separate MSP security platform used PuppyGraph to power a unified asset inventory system that reflects live infrastructure state without any data duplication or sync pipelines. For teams that want to explore the approach hands-on, PuppyGraph's free Developer Edition requires no payment or form to download.

If you want to see how this fits your specific environment, you can book a demo with the PuppyGraph team directly.

Conclusion

Cyber risk monitoring is not a dashboard or a tool category. It is the operational discipline of staying continuously informed about what is happening in your environment and what it actually means for your risk posture.

The shift that separates effective monitoring from ineffective monitoring is moving from event-based thinking to relationship-based thinking. Individual alerts tell you that something happened. A graph tells you what that event connects to, where it could lead, and how urgent the response needs to be.

Attackers already see your environment as a graph. Your monitoring program should too.

Matt Tanner
Head of Developer Relations

Matt is a developer at heart with a passion for data, software architecture, and writing technical content. In the past, Matt worked at some of the largest finance and insurance companies in Canada before pivoting to working for fast-growing startups.

Get started with PuppyGraph!

PuppyGraph empowers you to seamlessly query one or multiple data stores as a unified graph model.

Dev Edition

Free Download

Enterprise Edition

Developer

$0
/month
  • Forever free
  • Single node
  • Designed for proving your ideas
  • Available via Docker install

Enterprise

$
Based on the Memory and CPU of the server that runs PuppyGraph.
  • 30 day free trial with full features
  • Everything in Developer + Enterprise features
  • Designed for production
  • Available via AWS AMI & Docker install
* No payment required

Developer Edition

  • Forever free
  • Single noded
  • Designed for proving your ideas
  • Available via Docker install

Enterprise Edition

  • 30-day free trial with full features
  • Everything in developer edition & enterprise features
  • Designed for production
  • Available via AWS AMI & Docker install
* No payment required