type.inbound
and any(filter(attachments, .file_type in ("pdf", "html", "docx", "pptx")),
any(file.explode(.),
any(.scan.url.urls,
(
.domain.domain in (
'login.microsoftonline.com',
'login.microsoft.com'
)
or strings.icontains(.query_params,
"login.microsoftonline.com",
'login.microsoft.com'
)
)
and (
strings.ilike(.query_params,
'*offline_access*',
'*.readwrite*',
'*.read*',
'*ctx=*',
'*prompt=none*'
)
or (
strings.icontains(.path, '/common/reprocess')
and strings.icontains(.query_params, 'ctx=')
and strings.icontains(.query_params, 'sessionId=')
)
)
)
)
)
Playground
Test against your own EMLs or sample data.