Detection rules › Sublime MQL

Brand Impersonation: Gemini Trust Company

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

Detects messages impersonating Gemini Trust Company through analysis of footer content, social media links, and address verification, excluding legitimate communications from authenticated Gemini domains.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesImpersonation: Brand, Social engineering

Event coverage

Rule body MQL

type.inbound
and (
  // the address in the footer
  (
    regex.icontains(body.current_thread.text,
                    "600 Third Avenue.{1,2}2nd Floor.{1,2}New York, NY"
    )
    and strings.icontains(body.current_thread.text, "Gemini Trust Company")
  )
  // logo detect combined with sender display name 
  // need to be more specific here due to other uses of the word "Gemini"
  or (
    sender.display_name =~ "Gemini"
    and any(ml.logo_detect(file.message_screenshot()).brands,
            .name == "Gemini Trust" and .confidence != "low"
    )
  )
  // copyright footer
  or strings.icontains(body.current_thread.text,
                       '© 2025 Gemini Trust Company, LLC'
  )

  // the social links in the footer
  or (
    length(filter(body.links,
                  strings.icontains(.href_url.url,
                                    'https://www.instagram.com/gemini/'
                  )
                  or strings.icontains(.href_url.url,
                                       'https://www.linkedin.com/company/geminitrust/'
                  )
                  or strings.icontains(.href_url.url,
                                       'https://facebook.com/GeminiTrust'
                  )
                  or strings.icontains(.href_url.url,
                                       'https://twitter.com/Gemini'
                  )
                  or strings.icontains(.href_url.url,
                                       'https://support.gemini.com/hc/en-us/requests/new'
                  )
                  or strings.icontains(.href_url.url,
                                       'https://support.gemini.com/hc/en-us/requests/new'
                  )
           )
    ) >= 4
  )
)
// not forwards/replies
and not (
  length(headers.references) > 0
  and (subject.is_forward or subject.is_reply)
  and length(body.previous_threads) >= 1
)
// not from Gemini actual
and not (
  sender.email.domain.root_domain in (
    "gemini.com",
    "niftygateway.com" // NFT market place owned by Gemini Trust Company
  )
  and headers.auth_summary.dmarc.pass
)

Detection logic

Scope: inbound message.

Detects messages impersonating Gemini Trust Company through analysis of footer content, social media links, and address verification, excluding legitimate communications from authenticated Gemini domains.

  1. inbound message
  2. any of:
    • all of:
      • body.current_thread.text matches '600 Third Avenue.{1,2}2nd Floor.{1,2}New York, NY'
      • body.current_thread.text contains 'Gemini Trust Company'
    • all of:
      • sender.display_name is 'Gemini'
      • any of ml.logo_detect(file.message_screenshot()).brands where all hold:
        • .name is 'Gemini Trust'
        • .confidence is not 'low'
    • body.current_thread.text contains '© 2025 Gemini Trust Company, LLC'
    • length(filter(body.links, strings.icontains(.href_url.url, 'https://www.instagram.com/gemini/') or strings.icontains(.href_url.url, 'https://www.linkedin.com/company/geminitrust/') or strings.icontains(.href_url.url, 'https://facebook.com/GeminiTrust') or strings.icontains(.href_url.url, 'https://twitter.com/Gemini') or strings.icontains(.href_url.url, 'https://support.gemini.com/hc/en-us/requests/new') or strings.icontains(.href_url.url, 'https://support.gemini.com/hc/en-us/requests/new'))) ≥ 4
  3. not:
    • all of:
      • length(headers.references) > 0
      • any of:
        • subject.is_forward
        • subject.is_reply
      • length(body.previous_threads) ≥ 1
  4. not:
    • all of:
      • sender.email.domain.root_domain in ('gemini.com', 'niftygateway.com')
      • headers.auth_summary.dmarc.pass

Inspects: body.current_thread.text, body.links, body.links[].href_url.url, body.previous_threads, headers.auth_summary.dmarc.pass, headers.references, sender.display_name, sender.email.domain.root_domain, subject.is_forward, subject.is_reply, type.inbound. Sensors: file.message_screenshot, ml.logo_detect, regex.icontains, strings.icontains.

Indicators matched (12)

FieldMatchValue
regex.icontainsregex600 Third Avenue.{1,2}2nd Floor.{1,2}New York, NY
strings.icontainssubstringGemini Trust Company
sender.display_nameequalsGemini
ml.logo_detect(file.message_screenshot()).brands[].nameequalsGemini Trust
strings.icontainssubstring© 2025 Gemini Trust Company, LLC
strings.icontainssubstringhttps://www.instagram.com/gemini/
strings.icontainssubstringhttps://www.linkedin.com/company/geminitrust/
strings.icontainssubstringhttps://facebook.com/GeminiTrust
strings.icontainssubstringhttps://twitter.com/Gemini
strings.icontainssubstringhttps://support.gemini.com/hc/en-us/requests/new
sender.email.domain.root_domainmembergemini.com
sender.email.domain.root_domainmemberniftygateway.com