Skip to content

Understand Toxic Combinations

Toxic Combinations detect dangerous clusters of individually low-risk conditions that together create a critical security risk. A single misconfiguration might be acceptable on its own, but when it coexists with other conditions on the same resource or connected resources, the combination becomes exploitable.

What Is a Toxic Combination

A toxic combination is a pattern where multiple conditions align to create a risk that is greater than the sum of its parts.

Example: A virtual machine that is:

  • Internet-facing (public IP with open ports) -- low risk alone, many services need this
  • Running an unpatched critical CVE -- medium risk, but patching is scheduled
  • Has stored SSH credentials for a database server -- low risk, the credential is needed for backups

Each condition on its own might be within your risk tolerance. But together, they form a direct path from the internet to your database: exploit the CVE to gain access to the VM, then use the stored credentials to reach the database. That combination is Critical.

WARNING

Toxic combinations are particularly dangerous because they are invisible to tools that evaluate findings individually. A vulnerability scanner reports the CVE, a posture management tool flags the public IP, and a credential scanner finds the stored key -- but none of them connect the dots. The Attack Graph does.

Toxic Combination Rules

AttackLens evaluates 15 toxic combination rules. Each rule defines a pattern of conditions that, when found together, produce a toxic combination.

Internet Exposure Patterns

RuleComponentsWhy It Is Toxic
InternetExposedCveCredentialInternet-facing + Critical CVE + Stored credentialsDirect exploit-to-credential chain from the internet
PublicIpNoNsgCriticalServicePublic IP + No network security group + Critical service runningUnfiltered internet access to a critical service
EolOsDisabledFirewallOpenRdpEnd-of-life OS + Firewall disabled + RDP openUnpatched, unprotected, remotely accessible system

Identity and Access Patterns

RuleComponentsWhy It Is Toxic
AdminNoMfaOldCredentialAdmin account + No MFA + Credential older than 90 daysAdmin takeover via credential stuffing or phishing
OverprivilegedRoleNoLoggingAdmin-level IAM role + No audit loggingStealthy abuse of overprivileged access
CrossAccountTrustHighPrivCross-account trust relationship + High-privilege roleLateral movement between cloud accounts with elevated access

Data Exposure Patterns

RuleComponentsWhy It Is Toxic
PublicStorageSensitiveDataPublic storage bucket + Sensitive data classificationDirect data exposure to the internet
DatabasePublicNoEncryptionPublic-facing database + No encryption at restUnprotected data accessible from outside
SshKeyLateralDbSSH key on one host + Lateral reachability to a database hostCredential chain leading to a data store

Credential and Persistence Patterns

RuleComponentsWhy It Is Toxic
ServiceAccountDomainAdminScheduledTaskService account + Domain Admin privileges + Scheduled taskPersistent, high-privilege automated execution
SecretStoreNoRotationSecret store (Key Vault, Secrets Manager) + No rotation policyLong-lived secrets increase exposure window

Cloud and Container Patterns

RuleComponentsWhy It Is Toxic
CloudVmManagedIdentityContributorCloud VM + Managed identity + Contributor roleVM compromise grants cloud resource modification
ContainerClusterDefaultServiceAccountContainer cluster + Default Kubernetes service accountContainers can escape to cluster-level access
KerberosUnconstrainedDelegationDcUnconstrained Kerberos delegation + Near domain controllerTicket theft leads to full domain compromise

Monitoring Gap Patterns

RuleComponentsWhy It Is Toxic
UnmonitoredCrownJewelCrown jewel asset + No monitoring (no EDR, no SIEM, no alerts)Critical asset with no detection capability

Toxic Combinations List

The Toxic tab in the Attack Graph Explorer shows all detected toxic combinations.

Columns

ColumnDescription
RuleThe name of the toxic combination rule that matched
SeverityThe combined risk level (Critical, High, Medium)
ComponentsThe individual conditions that form the combination
Affected AssetsNumber of resources where this combination exists
First DetectedWhen this combination was first identified

Severity Levels

Toxic combination severity is determined by the rule definition, not by aggregating component severities:

SeverityMeaning
CriticalDirectly exploitable combination with a clear attack path to data or domain compromise
HighHighly exploitable combination that significantly increases risk
MediumCombination that creates meaningful risk but may require additional conditions to exploit

Toxic Combination Detail

Click a row to expand the detail view:

Pattern Description

A human-readable explanation of why this combination is dangerous and how an attacker would exploit it.

Matching Nodes

The specific resources where the combination was found. Each node entry shows:

  • Node label: Click to open Node Details
  • Node type: Resource type (CloudVM, Host, Identity, etc.)
  • Provider: AWS, Azure, GCP, or On-Premises
  • Which conditions this node satisfies: Shows which parts of the rule this specific node matches

Component Conditions

A breakdown of each individual condition in the combination:

ComponentStatusEvidence
Internet-facingPresentPublic IP 203.0.113.45 attached, ports 22, 443 open
Critical CVEPresentCVE-2024-38063 (CVSS 9.8, EPSS 0.91, CISA KEV)
Stored credentialsPresentSSH key found for db-master-01

Remediation Suggestions

Each toxic combination includes guidance on which component is easiest or most impactful to fix:

Breaking the Pattern

You do not need to fix every component to eliminate a toxic combination. Breaking any single component dissolves the pattern. The suggested remediation targets the component that is:

  1. Easiest to fix (lowest effort)
  2. Most broadly impactful (appears in other toxic combinations too)

Example remediation options:

ActionEffortImpact
Patch CVE-2024-38063MediumBreaks this combination and removes a Critical vulnerability
Restrict SSH key storageLowBreaks this combination; the credential is no longer on this host
Move service behind WAF / remove public IPHighBreaks this combination and reduces internet exposure

Toxic Combinations vs. Individual Findings

AspectIndividual FindingToxic Combination
ScopeSingle misconfiguration or vulnerabilityMultiple conditions on one or more connected resources
Risk assessmentBased on the finding's own severityBased on the combined exploitability of all components
DetectionStandard policy rules and vulnerability scansGraph-aware analysis that correlates across resources
RemediationFix the individual issueBreak any one component to dissolve the pattern

INFO

Toxic combinations are computed during Step 5 (Attack Analysis) of the graph pipeline. They are re-evaluated every time the graph is recomputed, so new combinations appear as your environment changes and existing ones disappear when conditions are remediated.

Next Steps

AttackLens - Continuous Exposure Management