Detection rules › Sublime MQL

Service abuse: Free provider with SendGrid routing

Severity
medium
Type
rule
Source
github.com/sublime-security/sublime-rules

Message From header includes a free email provider domain but is routed through SendGrid infrastructure, indicating potential service abuse for delivery evasion.

Threat classification

Sublime's own taxonomy (not MITRE ATT&CK).

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesFree email provider, Evasion

Event coverage

Rule body MQL

type.inbound
and sender.email.domain.domain in $free_email_providers
and any(headers.domains, .root_domain == "sendgrid.net")
and not any(ml.nlu_classifier(body.current_thread.text).intents,
            .name == "benign"
)
and not any(ml.nlu_classifier(body.current_thread.text).topics,
            .name == "Bounce Back and Delivery Failure Notifications"
)

Detection logic

Scope: inbound message.

Message From header includes a free email provider domain but is routed through SendGrid infrastructure, indicating potential service abuse for delivery evasion.

  1. inbound message
  2. sender.email.domain.domain in $free_email_providers
  3. any of headers.domains where:
    • .root_domain is 'sendgrid.net'
  4. not:
    • any of ml.nlu_classifier(body.current_thread.text).intents where:
      • .name is 'benign'
  5. not:
    • any of ml.nlu_classifier(body.current_thread.text).topics where:
      • .name is 'Bounce Back and Delivery Failure Notifications'

Inspects: body.current_thread.text, headers.domains, headers.domains[].root_domain, sender.email.domain.domain, type.inbound. Sensors: ml.nlu_classifier. Reference lists: $free_email_providers.

Indicators matched (3)

FieldMatchValue
headers.domains[].root_domainequalssendgrid.net
ml.nlu_classifier(body.current_thread.text).intents[].nameequalsbenign
ml.nlu_classifier(body.current_thread.text).topics[].nameequalsBounce Back and Delivery Failure Notifications