Detection rules › Sublime MQL

Spam: Cryptocurrency airdrop/giveaway

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

Detects messages promoting cryptocurrency airdrops, token claims, or wallet-related rewards.

Threat classification

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

CategoryValues
Attack typesSpam
Tactics and techniquesSocial engineering, Impersonation: Brand

Event coverage

Rule body MQL

type.inbound
and any(ml.nlu_classifier(body.current_thread.text).topics,
        .name in ("Financial Communications")
)
and not any(ml.nlu_classifier(body.current_thread.text).topics,
            .name in (
              'Newsletters and Digests',
              'News and Current Events',
              'Legal and Compliance'
            )
)
and not any(ml.nlu_classifier(body.current_thread.text).intents,
            .name == "benign" and .confidence == "high"
)
// action word
and (
  strings.ilike(subject.base, '*airdrop*')
  or strings.like(body.current_thread.text, '*airdrop*')
  or strings.ilike(subject.base, '*giveaway*')
  or strings.like(body.current_thread.text, '*giveaway*')
  or regex.icontains(body.current_thread.text, 'receive \$\d{2,5} worth')
  or regex.icontains(body.current_thread.text,
                     'claim your (allocation|airdrop|bonus|share|\$\d{2,5})'
  )
  or regex.icontains(body.current_thread.text, 'connect .{0,20} wallet')
)
and not regex.icontains(body.current_thread.text, '\$\d{2,4} (off|cash)')
and (
  // crypto keyword
  regex.icontains(body.current_thread.text,
                  '\bmetamask\b',
                  '\bethereum\b',
                  '\bbinance\b',
                  '\bgemini\b',
                  '\bwallet\b',
                  '\bkraken\b',
                  '\bsolana\b',
                  '\btrezor\b',
                  '\bledger\b'
  )
  // token name, e.g. $USDT
  or regex.contains(body.current_thread.text, '\s\$[A-Z]{3,4}\s')
)
and not (
  sender.email.domain.root_domain in (
    "gemini.com",
    "ledger.com",
    "binance.com",
    "trezor.io",
    "kraken.com",
    "solana.com",
    "metamask.com",
    "ethereum.org",
    "bloomberg.com"
  )
  and headers.auth_summary.dmarc.pass
)

Detection logic

Scope: inbound message.

Detects messages promoting cryptocurrency airdrops, token claims, or wallet-related rewards.

  1. inbound message
  2. any of ml.nlu_classifier(body.current_thread.text).topics where:
    • .name in ('Financial Communications')
  3. not:
    • any of ml.nlu_classifier(body.current_thread.text).topics where:
      • .name in ('Newsletters and Digests', 'News and Current Events', 'Legal and Compliance')
  4. not:
    • any of ml.nlu_classifier(body.current_thread.text).intents where all hold:
      • .name is 'benign'
      • .confidence is 'high'
  5. any of:
    • subject.base matches '*airdrop*'
    • body.current_thread.text matches '*airdrop*'
    • subject.base matches '*giveaway*'
    • body.current_thread.text matches '*giveaway*'
    • body.current_thread.text matches 'receive \\$\\d{2,5} worth'
    • body.current_thread.text matches 'claim your (allocation|airdrop|bonus|share|\\$\\d{2,5})'
    • body.current_thread.text matches 'connect .{0,20} wallet'
  6. not:
    • body.current_thread.text matches '\\$\\d{2,4} (off|cash)'
  7. any of:
    • body.current_thread.text matches any of 9 patterns
      • \bmetamask\b
      • \bethereum\b
      • \bbinance\b
      • \bgemini\b
      • \bwallet\b
      • \bkraken\b
      • \bsolana\b
      • \btrezor\b
      • \bledger\b
    • body.current_thread.text matches '\\s\\$[A-Z]{3,4}\\s'
  8. not:
    • all of:
      • sender.email.domain.root_domain in ('gemini.com', 'ledger.com', 'binance.com', 'trezor.io', 'kraken.com', 'solana.com', 'metamask.com', 'ethereum.org', 'bloomberg.com')
      • headers.auth_summary.dmarc.pass

Inspects: body.current_thread.text, headers.auth_summary.dmarc.pass, sender.email.domain.root_domain, subject.base, type.inbound. Sensors: ml.nlu_classifier, regex.contains, regex.icontains, strings.ilike, strings.like.

Indicators matched (33)

FieldMatchValue
ml.nlu_classifier(body.current_thread.text).topics[].namememberFinancial Communications
ml.nlu_classifier(body.current_thread.text).topics[].namememberNewsletters and Digests
ml.nlu_classifier(body.current_thread.text).topics[].namememberNews and Current Events
ml.nlu_classifier(body.current_thread.text).topics[].namememberLegal and Compliance
ml.nlu_classifier(body.current_thread.text).intents[].nameequalsbenign
ml.nlu_classifier(body.current_thread.text).intents[].confidenceequalshigh
strings.ilikesubstring*airdrop*
strings.likesubstring*airdrop*
strings.ilikesubstring*giveaway*
strings.likesubstring*giveaway*
regex.icontainsregexreceive \$\d{2,5} worth
regex.icontainsregexclaim your (allocation|airdrop|bonus|share|\$\d{2,5})
21 more
regex.icontainsregexconnect .{0,20} wallet
regex.icontainsregex\$\d{2,4} (off|cash)
regex.icontainsregex\bmetamask\b
regex.icontainsregex\bethereum\b
regex.icontainsregex\bbinance\b
regex.icontainsregex\bgemini\b
regex.icontainsregex\bwallet\b
regex.icontainsregex\bkraken\b
regex.icontainsregex\bsolana\b
regex.icontainsregex\btrezor\b
regex.icontainsregex\bledger\b
regex.containsregex\s\$[A-Z]{3,4}\s
sender.email.domain.root_domainmembergemini.com
sender.email.domain.root_domainmemberledger.com
sender.email.domain.root_domainmemberbinance.com
sender.email.domain.root_domainmembertrezor.io
sender.email.domain.root_domainmemberkraken.com
sender.email.domain.root_domainmembersolana.com
sender.email.domain.root_domainmembermetamask.com
sender.email.domain.root_domainmemberethereum.org
sender.email.domain.root_domainmemberbloomberg.com