Description

Detects calendar invites sent as .ics attachments from free email providers (Outlook, Hotmail, etc.) that mimic a 'shared a photo/file with you' notification. The rule parses the ICS payload to inspect the actual event description rendered by calendar clients, rather than the email body, looking for file-sharing language flagged by NLU classification or regex matching. It further confirms suspicious intent by checking for an outlook.com 'groups' self-invite organizer or links that route through Google redirectors instead of legitimate Google Drive domains. Highly trusted sender domains are excluded unless they fail DMARC authentication.

References

No references.

Sublime Security
Created Sep 9th, 2026 • Last updated Sep 9th, 2026
Source
type.inbound
and sender.email.domain.root_domain in $free_email_providers
and any(attachments,
        (
          .file_type == "ics"
          or .file_extension == "ics"
          or .content_type in ("application/ics", "text/calendar")
        )
        //
        // this rule makes use of a beta feature and is subject to change without notice
        // parse the ICS and read the payload the calendar client renders, not the
        // (obfuscatable / image-rendered) html body
        //
        and any(beta.file.parse_ics(.).events,
                // calendar invite contains file sharing language in the description of the invite
                // just-in-case addition of a regex match on stuff like "shared a folder"
                (
                  any(ml.nlu_classifier(.description).topics,
                      .name == 'File Sharing and Cloud Services'
                  )
                  or regex.icontains(.description,
                                     "shared (?:a|an) (?:folder|photo|album|picture|image|file|doc) with you"
                  )
                )
                // outlook "groups" self-invite (organizer is a long-numeric groups.outlook.com mailbox)
                // or the "View photo" cta routes through a google redirector (share.google / search.app)
                // rather than drive.google.com
                and (
                  .organizer.email.domain.domain == "groups.outlook.com"
                  or any(.links,
                         .href_url.domain.tld == "google"
                         or .href_url.domain.root_domain == "search.app"
                  )
                )
        )
)
// negate highly trusted sender domains unless they fail DMARC authentication
and not (
  sender.email.domain.root_domain in $high_trust_sender_root_domains
  and coalesce(headers.auth_summary.dmarc.pass, false)
)
MQL Rule Console
DocsLearning Labs

Playground

Test against your own EMLs or sample data.

Share

Post about this on your socials.

Get Started. Today.

Managed or self-managed. No MX changes.

Deploy and integrate a free Sublime instance in minutes.
Get Started