↳ GitHub sourceAnalytics ruleHigh
SpyCloud plaintext credential exposure detected
Description
#DONT_CORR#
'Identifies user accounts exposed with a plaintext password in a third-party data breach.
Unremediated exposures of this kind can lead directly to account takeover.'
- Rule type
- Scheduled
- Version
- 1.0.0
- Query frequency
- 1h
- Query period
- 1h
- Trigger
- gt 0
Declared MITRE coverage
Declared sources
Metadata from the source file. No dependencies inferred from KQL.
Connectors
Data types
KQL query
Original query, unchanged.
// Human-readable constant for the severity threshold used below
let severityThreshold = 20;
SpyCloudBreachWatchlistV2_CL
| where Severity == severityThreshold
// Severity alone determines this detection. mv-expand emits no rows for an empty
// array, which would silently drop exposures carrying no IP data, so substitute a
// single empty placeholder before expanding.
| extend IPList = iff(isnull(IPAddresses) or array_length(IPAddresses) == 0, dynamic([""]), IPAddresses)
| mv-expand IPAddress = IPList to typeof(string)
| extend AccountName = Username, AccountEmail = Email,
AccountUpn = iff(isnotempty(Email), Email, Username)
| project TimeGenerated, DocumentId, SourceId, SpyCloudPublishDate, AccountEmail,
TargetDomain, PasswordPlaintext, AccountName, AccountUpn, IPAddress
Declared entities
Related content
Links established from declared identifiers and solution manifests.
Source provenance
GitHubDisplayed values come from files in Azure/Azure-Sentinel. They describe the published template, not your workspace configuration.
- Commit
9800e51↗- Source identifier
a25eba0e-ff42-4c97-a379-d76bdb2aa1e3
GSTEP / CATALOG TRACKING
Added to catalog : 16 Sept 2026 · 05:49 UTC
Last change observed : 16 Sept 2026 · 05:49 UTC