← Back to SOC feed Coverage →

User Submissions by Submission State (FP)

kql MEDIUM Azure-Sentinel
T1566
CloudAppEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-09-04T11:00:00Z · Confidence: medium

Hunt Hypothesis

This hypothesis targets potential phishing campaigns or credential harvesting attempts (T1566) where users report suspicious emails, requiring the SOC to validate whether these submissions represent genuine threats or systemic false positives that could mask real incidents. Proactively hunting for these user submissions in Azure Sentinel allows the team to correlate reported messages with threat intelligence and user behavior, ensuring that high-fidelity alerts are not dismissed due to recurring false positives while maintaining vigilance against targeted social engineering attacks.

KQL Query

CloudAppEvents
| where ActionType == "UserSubmission"
| extend RawData = parse_json(RawEventData)
| extend RecordType = toint(RawData.RecordType), SubmissionType = tostring(RawData.SubmissionType), SubmissionState = tostring(RawData.SubmissionState)
| where RecordType == 29 and SubmissionType == "3"
| summarize count() by SubmissionState
| render piechart

Analytic Rule Definition

id: f8637343-8fbc-48de-b31a-ed4bb68b60f2
name: User Submissions by Submission State (FP)
description: |
  This query visualises user false positive submissions by submission state.
description-detailed: |
  This query visualises user false positive submissions by submission state.
  Query is also included as part of the Defender for Office 365 solution in Sentinel: https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/part-2-build-custom-email-security-reports-and-dashboards-with-workbooks-in-micr/4411303
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - CloudAppEvents
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  CloudAppEvents
  | where ActionType == "UserSubmission"
  | extend RawData = parse_json(RawEventData)
  | extend RecordType = toint(RawData.RecordType), SubmissionType = tostring(RawData.SubmissionType), SubmissionState = tostring(RawData.SubmissionState)
  | where RecordType == 29 and SubmissionType == "3"
  | summarize count() by SubmissionState
  | render piechart
version: 1.0.0

Required Data Sources

Sentinel TableNotes
CloudAppEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/Email and Collaboration Queries/Submissions/User Submissions by Submission State - FP.yaml