Most engineers think…
Most people treat cloud security as a CVE leaderboard: fix the highest CVSS score first, repeat. That approach drowns the SOC in noise and misses the threats that actually matter.
Wiz reframes the question. A critical vulnerability on an internal, non-privileged instance with no sensitive data attached is not urgent. The same vulnerability on a publicly reachable workload running under an over-privileged identity that can read a production database is a five-alarm fire. The difference is the combination of conditions — and finding those combinations fast, at scale, is exactly what the Wiz Security Graph is built to do.
① What a toxic combination actually is — four conditions, one critical path
A toxic combination in Wiz is a chain of findings on the same cloud resource where all four risk factors are present simultaneously: the resource is publicly exposed, it carries a critical or high-severity vulnerability, it runs under an over-privileged identity, and it has a path to sensitive data. Remove any one factor and the path collapses to low-risk.
The insight Wiz is built on: risk is combinatorial, not additive. A critical CVE alone scores high on paper but low in practice if the instance is internal and unprivileged. Public exposure alone matters only if an attacker can do something useful once inside. Privilege alone is interesting only if data worth reaching exists. The Security Graph is the engine that finds the intersections — in real time, without agents.
What makes a combination 'toxic' in Wiz's definition?
② The Wiz Security Graph — how risk chains are modelled
Wiz uses an agentless Security Graph — a continuously updated, relationship-aware map of every resource, identity, workload, data store, network connection, vulnerability and security finding across a cloud environment. Instead of a flat list of alerts, the graph stores edges between nodes: this EC2 instance is reachable from the internet; this role is attached to that instance; that role can read this S3 bucket; that bucket contains PII data — all traversable in a single query.
Why graph matters for attack paths
Graph traversal lets Wiz answer the question an attacker would ask: starting from the internet, which chain of steps leads to sensitive data? The engine prunes paths that are theoretically possible but blocked by a compensating control, and surfaces only validated, exploitable attack paths. A typical large cloud environment might generate tens of thousands of individual findings; the Security Graph collapses those to dozens of genuinely critical toxic combinations.
A chain where public exposure + critical CVE + high IAM privilege + sensitive data all align on one resource. Removing any single condition collapses the path to low-risk.
Wiz's agentless, continuously updated graph that models every resource, identity, network edge and data store — enabling graph traversal to find exploitable attack paths.
A resource tagged in Wiz as high-value (prod DB, credential store, PII bucket). Any attack path ending at a crown jewel is auto-elevated in priority regardless of intermediate scores.
Wiz's built-in query interface for the Security Graph. Filter by public exposure, CVE severity, IAM privilege level and data sensitivity to surface toxic combinations in one pass.
Wiz builds the Security Graph without installing agents. It uses cloud-provider APIs (AWS, Azure, GCP, OCI) to read configuration, scan workload disk snapshots, and pull IAM policies — so every resource appears in the graph within minutes of provisioning, even if the team never touched a security tool.
What is the key advantage of a graph model over a flat findings list?
③ Prioritizing attack paths — what to fix first and why
Wiz assigns each attack path a risk score that weighs the severity of the vulnerability, the reachability of the resource (internet-facing vs internal), the blast radius of the attached identity (can it admin your whole cloud?), and the sensitivity of the data at the end of the path. Paths that score in the critical band are surfaced as Issue cards in the Wiz console and can be routed to Jira, ServiceNow, Slack, or PagerDuty automatically.
The prioritization heuristic: fix the shortest path to the most sensitive data first. A one-hop path (internet ▸ vulnerable instance with DB credentials) beats a three-hop path even if the three-hop path has a higher CVSS score on one of its nodes. Wiz also lets you tag resources as critical assets (crown jewels), so any path leading to them is automatically elevated regardless of intermediate scores.
The classic mistake: sort by CVSS, patch the top 10, declare victory. In Wiz's model, a CVSS 9.8 CVE on an isolated internal instance with no privilege and no sensitive data is lower priority than a CVSS 7.5 CVE that is part of a complete toxic combination. Always filter by the full combination, not raw severity.
▶ Watch Wiz surface and collapse a toxic combination
Step through how an internet request reaches sensitive data via four exploitable links. Press Play for the attack path, then Break it to see the missing control.
Two attack paths exist: Path A has a CVSS 9.8 CVE on an internal, unprivileged instance. Path B has a CVSS 7.5 CVE on an internet-facing instance with admin IAM access to a PII database. Which should you fix first?
④ Attack-path queries and breaking the toxic chain
Wiz exposes its graph through a query language accessible in the Security Graph Explorer. A typical toxic-combination query filters for resources that are publicly exposed AND have a critical or high CVE AND run under an identity with write access to a sensitive data store. Wiz ships built-in query templates for the most common toxic-combination patterns — internet-facing-VM-with-crit-vuln-and-privileged-role is one click.
Breaking the chain — remediation that works
You do not need to fix all four conditions to eliminate the path. Breaking any single link collapses the toxic combination. The fastest mitigations in order of typical speed: (1) remove public exposure — tighten the security-group rule or move the load balancer behind a WAF; (2) revoke excess privilege — scope the IAM role to least-privilege; (3) patch or virtually patch the CVE — apply the vendor fix or add a WAF rule; (4) restrict data access — add a bucket policy or data-perimeter control. After any of these, re-run the query in Wiz — the attack path should disappear from the critical list.
Priya at a Pune fintech faces this
Wiz surfaces a critical attack path: an EC2 instance running an old Java service is reachable from the internet on port 443, has a critical deserialization CVE, is attached to an IAM role with full S3 read access, and that S3 bucket holds customer PAN card data.
The instance was a dev sandbox promoted to production without tightening the security group or scoping the IAM role. The Java dependency was never upgraded after the original CVE was disclosed.
Wiz Security Graph Explorer shows the full chain: internet ▸ EC2 (CVE-XXXX, critical) ▸ IAM role (S3:GetObject on *) ▸ S3 bucket tagged PII.
Wiz Console ▸ Issues ▸ Critical Attack Paths ▸ Graph ViewImmediate: revoke the wildcard S3 permission, scope the role to only the specific bucket prefix needed. Same day: add an inbound SG rule to restrict port 443 to the internal load balancer only. Sprint: upgrade the Java dependency to patch the CVE. Re-run the query in Graph Explorer — path disappears from the critical list.
Re-run the Wiz attack-path query for this instance — it no longer appears in the critical band. The PII bucket's Issues tab shows zero critical paths leading to it.
After any remediation, re-run the exact attack-path query that surfaced the issue. The path should disappear from Wiz's critical-issues list. If it remains, one link in the chain is still active — check the reachability edge (SG rules take minutes to propagate) or the IAM policy cache (allow a few minutes for Wiz's re-scan after a policy change).
You cannot patch a critical CVE for two weeks. Which action best reduces the toxic combination risk immediately?
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from vendor docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: explain why two separate CVSS 9.8 CVEs might have different priority in Wiz. Then compare with the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- Toxic Combination
- A Wiz finding where all four risk factors — public exposure, critical vulnerability, high IAM privilege, and sensitive data — align on the same cloud resource, creating a critical, exploitable attack path.
- Security Graph
- Wiz's agentless, continuously updated graph database that models every cloud resource, identity, network edge, vulnerability and data store as nodes and edges — enabling attack-path traversal.
- Attack Path
- A chain of exploitable steps through the Security Graph that an attacker could follow to reach a critical asset, from initial access (public exposure) to impact (data exfiltration).
- Critical Asset (Crown Jewel)
- A resource tagged in Wiz as high-value (production DB, secrets store, PII bucket). Any attack path terminating at a crown jewel is automatically elevated to critical priority.
- Graph Explorer
- Wiz's query interface for the Security Graph, used to filter for toxic combinations by combining reachability, CVE severity, IAM privilege, and data-sensitivity conditions in one query.
- Public Exposure
- A cloud resource reachable from the internet — typically via a permissive security-group inbound rule, a public IP, or an open load-balancer listener.
- IAM Blast Radius
- How much damage an attached IAM role or service account can do if compromised — measured by the scope and sensitivity of resources it can access or administer.
- Virtual Patch
- A compensating control — such as a WAF rule — that blocks exploitation of a known CVE without requiring the underlying package to be upgraded or replaced immediately.
📚 Sources
- Wiz — What is Attack Path Analysis? wiz.io/academy/detection-and-response/attack-path-analysis
- Wiz Blog — The anatomy of a toxic combination of risk in cloud security. wiz.io/blog/the-anatomy-of-a-toxic-combination-of-risk
- Wiz — Wiz Cloud: Manage Security Posture — Security Graph and attack-path prioritization. wiz.io/platform/wiz-cloud
- Google Cloud Architecture Center — Identify and prioritize security risks with Wiz Security Graph and Google Cloud. docs.cloud.google.com/architecture/partners/id-prioritize-security-risks-with-wiz
- Wiz — AI CNAPP: Unified Cloud and AI Security — contextual risk for AI systems. wiz.io/academy/cloud-security/ai-cnapp
- Security Scientist — 12 Questions and Answers About Wiz Security Graph. securityscientist.net/blog/12-questions-and-answers-about-wiz-security-graph-wiz
What's next?
Mastered attack paths? Next, go deep on Wiz CSPM — misconfigurations, compliance frameworks, and how Wiz maps findings to CIS, NIST, and custom benchmarks.