Detection rules › Kusto
Vaikora - High score quarantine
Identifies high-confidence phishing or suspected-threat quarantine events from Vaikora for O365. Fires when the classifier returns action_id 4 (Suspected) or 5 (Phishing) with confidence above 0.8 on a Microsoft 365 mailbox.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Initial Access |
Rule body
id: 017031f6-be1d-4c68-b4d3-182fa84378cc
name: Vaikora - High score quarantine
description: |
Identifies high-confidence phishing or suspected-threat quarantine events from Vaikora for O365. Fires when the classifier returns action_id 4 (Suspected) or 5 (Phishing) with confidence above 0.8 on a Microsoft 365 mailbox.
severity: High
requiredDataConnectors:
- connectorId: VaikoraO365
dataTypes:
- VaikoraO365_Quarantine_CL
queryFrequency: 15m
queryPeriod: 15m
triggerOperator: gt
triggerThreshold: 0
status: Available
tactics:
- InitialAccess
- CredentialAccess
- Collection
- Exfiltration
relevantTechniques:
- T1566
- T1566.001
- T1566.002
query: |
VaikoraO365_Quarantine_CL
| where TimeGenerated >= ago(15m)
| where ActionId_d in (4, 5)
| where Confidence_d >= 0.8
| extend
EmailId = EmailId_s,
TenantId = TenantId_s,
ActionId = ActionId_d,
ActionName = ActionName_s,
Confidence = Confidence_d,
RiskScore = RiskScore_d,
SubCategory = SubCategory_s,
Reasoning = Reasoning_s,
SourceMailbox = SourceMailbox_s,
SenderAddress = SenderAddress_s,
SenderDomain = SenderDomain_s,
Subject = Subject_s,
RecipientAddress = RecipientAddress_s,
ModelVersion = ModelVersion_s
| project
TimeGenerated, EmailId, TenantId, ActionId, ActionName, Confidence, RiskScore,
SubCategory, Reasoning, SourceMailbox, SenderAddress, SenderDomain, Subject,
RecipientAddress, ModelVersion
| order by TimeGenerated desc
entityMappings:
- entityType: MailMessage
fieldMappings:
- identifier: Recipient
columnName: RecipientAddress
- identifier: NetworkMessageId
columnName: EmailId
- entityType: Account
fieldMappings:
- identifier: FullName
columnName: SenderAddress
- entityType: Account
fieldMappings:
- identifier: FullName
columnName: RecipientAddress
- entityType: DNS
fieldMappings:
- identifier: DomainName
columnName: SenderDomain
alertDetailsOverride:
alertDisplayNameFormat: "Vaikora-O365 {{ActionName}} on {{RecipientAddress}}"
alertDescriptionFormat: "Vaikora-O365 classified this message as {{ActionName}} with confidence {{Confidence}}. The message was quarantined from the recipient mailbox."
version: 1.0.0
kind: Scheduled
Stages and Predicates
Stage 1: source
VaikoraO365_Quarantine_CL
Stage 2: where
| where TimeGenerated >= ago(15m)
Stage 3: where
| where ActionId_d in (4, 5)
Stage 4: where
| where Confidence_d >= 0.8
Stage 5: extend
| extend
EmailId = EmailId_s,
TenantId = TenantId_s,
ActionId = ActionId_d,
ActionName = ActionName_s,
Confidence = Confidence_d,
RiskScore = RiskScore_d,
SubCategory = SubCategory_s,
Reasoning = Reasoning_s,
SourceMailbox = SourceMailbox_s,
SenderAddress = SenderAddress_s,
SenderDomain = SenderDomain_s,
Subject = Subject_s,
RecipientAddress = RecipientAddress_s,
ModelVersion = ModelVersion_s
Stage 6: project
| project
TimeGenerated, EmailId, TenantId, ActionId, ActionName, Confidence, RiskScore,
SubCategory, Reasoning, SourceMailbox, SenderAddress, SenderDomain, Subject,
RecipientAddress, ModelVersion
Stage 7: sort
| order by TimeGenerated desc
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ActionId_d | in |
| field:"ActionId_d" kind:in |
Confidence_d | ge |
| field:"Confidence_d" kind:ge value:"0.8" |
Output fields
These fields are emitted when the rule matches.
| Field | Source |
|---|---|
ActionId | project |
ActionName | project |
Confidence | project |
EmailId | project |
ModelVersion | project |
Reasoning | project |
RecipientAddress | project |
RiskScore | project |
SenderAddress | project |
SenderDomain | project |
SourceMailbox | project |
SubCategory | project |
Subject | project |
TenantId | project |
TimeGenerated | project |