Skip to content

Malicious-link Clicks & Mail ZAP Did Not Remove (30 days)

The question it answers: Who clicked malicious links in the last 30 days, and which malicious mail did zero-hour auto purge not remove?

After a phishing wave the first question is: who clicked? This report lists users who clicked through a Safe Links warning or opened a link later found malicious, and mailboxes where zero-hour auto purge tried to remove malicious mail and failed.

Where in the appTenant › Defender & Security Operations › Malicious Clicks & ZAP Misses
WorkloadSecurity
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceDefender for Office 365 Plan 2.
Report id (API and MCP)tenant.secops.malicious-clicks
ColumnKeyType
SeveritySeverityStatus
EventCategoryText
User / mailboxSubjectLink
CheckSettingText
CountValueText
FindingFindingText
Threats / URLsDetailText
LastWhenDate
EventsNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: Defender for Office 365 Plan 2.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
ThreatHunting.Read.AllMicrosoft GraphRun hunting queries and read shared saved hunting queries
Data sources it reads
  • POST /v1.0/security/runHuntingQuery (UrlClickEvents, EmailPostDeliveryEvents)
GET /ir-api/v1/reports/tenant.secops.malicious-clicks?size=100

An AI assistant reads it with the MCP tool get_report and the id tenant.secops.malicious-clicks. The client needs the Read grant for Security. See Using the API.