Brand impersonation: FedEx

Impersonation of the shipping provider FedEx.

Sublime rule (View on GitHub)

 1name: "Brand impersonation: FedEx"
 2description: |
 3    Impersonation of the shipping provider FedEx.
 4references:
 5  - "https://www.fedex.com/en-us/trust-center/report-fraud/fraudulent-email-examples.html"
 6type: "rule"
 7severity: "low"
 8source: |
 9  type.inbound
10  and (
11    sender.display_name in~ ('fedex', 'fedex shipment', 'fedex tracking updates')
12    or strings.ilevenshtein(sender.display_name, 'fedex') <= 1
13    or regex.icontains(sender.display_name, '^Fed-?ex')
14    or strings.ilike(sender.email.domain.domain, '*fedex*')
15    or (
16      any(ml.logo_detect(file.message_screenshot()).brands, .name == "FedEx")
17      and (
18        any(ml.nlu_classifier(body.current_thread.text).entities,
19            .name == "request" and strings.icontains(.text, "signature")
20        )
21        or strings.istarts_with(body.current_thread.text, 'FedEx')
22      )
23    )
24    or 2 of (
25      strings.icontains(body.current_thread.text, "FedEx"),
26      strings.icontains(body.current_thread.text, "942 South Shady Grove Road"),
27      strings.icontains(body.current_thread.text, "3620 Hacks Cross Road"),
28      strings.icontains(body.current_thread.text, "Memphis, TN")
29    )
30  )
31  and not (
32    sender.email.domain.root_domain in~ (
33      'fedex.com',
34      'fedexfreight.com', // added 2026-05-08
35      'cj.com', // CJ is a global affiliate marketing network
36      'sedex.com', // sedex.com is not affiliated with FedEx, but is an apparent FP
37      'myworkday.com',
38      'billtrust.com',
39      'flying-cargo.rs', // Serbian arm of Fedex (https://www.fedex.com/en-rs/customer-support.html)
40      'confirmit.com', // survey/market research company
41      'centercode.com' // survey company
42    )
43    and coalesce(headers.auth_summary.dmarc.pass, false)
44  )
45  and (
46    not profile.by_sender().any_messages_benign
47    and not profile.by_sender().solicited
48  )
49  
50  // negate highly trusted sender domains unless they fail DMARC authentication
51  and not (
52    sender.email.domain.root_domain in $high_trust_sender_root_domains
53    and coalesce(headers.auth_summary.dmarc.pass, false)
54  )  
55
56attack_types:
57  - "Credential Phishing"
58tactics_and_techniques:
59  - "Impersonation: Brand"
60  - "Lookalike domain"
61  - "Social engineering"
62detection_methods:
63  - "Header analysis"
64  - "Sender analysis"
65id: "94a2b602-2bc1-5ea3-941e-752e3a2235cf"
to-top