Detection rules › Sublime MQL
Job scam with specific salary pattern
Detects job scam content that includes specific weekly salary mentions (e.g., '$XXX weekly' patterns) in either the current email thread or previous thread conversations, while excluding legitimate income verification services.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | BEC/Fraud |
| Tactics and techniques | Social engineering |
Event coverage
Rule body MQL
type.inbound
and (
(
// job scam in current thread
any(ml.nlu_classifier(body.current_thread.text).intents,
.name in ("job_scam") and .confidence != "low"
)
// and salary mention in current thread
and regex.icontains(body.current_thread.text,
'\$\d{3} weekly',
'weekly(?:\s+\w+){0,4}\s+\$\d{3}[^\d]'
)
)
// job scam in previous thread
or any(body.previous_threads,
any(ml.nlu_classifier(.text).intents,
.name in ("job_scam") and .confidence != "low"
)
// and salary mention in previous thread
and regex.icontains(.text,
'\$\d{3} weekly',
'weekly(?:\s+\w+){0,4}\s+\$\d{3}[^\d]'
)
)
)
and length(body.current_thread.links) < 10
// negating income / job verification senders
and not (
sender.email.domain.root_domain in (
'loandepot.com',
'sofi.com',
'lensa.com',
'indeed.com',
'ziprecruiter.com',
'glassdoor.com',
'postjobfree.com',
'jobplacements.com'
)
and headers.auth_summary.dmarc.pass
)
Detection logic
Scope: inbound message.
Detects job scam content that includes specific weekly salary mentions (e.g., '$XXX weekly' patterns) in either the current email thread or previous thread conversations, while excluding legitimate income verification services.
- inbound message
any of:
all of:
any of
ml.nlu_classifier(body.current_thread.text).intentswhere all hold:- .name in ('job_scam')
- .confidence is not 'low'
body.current_thread.text matches any of 2 patterns
\$\d{3} weeklyweekly(?:\s+\w+){0,4}\s+\$\d{3}[^\d]
any of
body.previous_threadswhere all hold:any of
ml.nlu_classifier(.text).intentswhere all hold:- .name in ('job_scam')
- .confidence is not 'low'
.text matches any of 2 patterns
\$\d{3} weeklyweekly(?:\s+\w+){0,4}\s+\$\d{3}[^\d]
- length(body.current_thread.links) < 10
not:
all of:
- sender.email.domain.root_domain in ('loandepot.com', 'sofi.com', 'lensa.com', 'indeed.com', 'ziprecruiter.com', 'glassdoor.com', 'postjobfree.com', 'jobplacements.com')
- headers.auth_summary.dmarc.pass
Inspects: body.current_thread.links, body.current_thread.text, body.previous_threads, body.previous_threads[].text, headers.auth_summary.dmarc.pass, sender.email.domain.root_domain, type.inbound. Sensors: ml.nlu_classifier, regex.icontains.
Indicators matched (12)
| Field | Match | Value |
|---|---|---|
ml.nlu_classifier(body.current_thread.text).intents[].name | member | job_scam |
regex.icontains | regex | \$\d{3} weekly |
regex.icontains | regex | weekly(?:\s+\w+){0,4}\s+\$\d{3}[^\d] |
ml.nlu_classifier(body.previous_threads[].text).intents[].name | member | job_scam |
sender.email.domain.root_domain | member | loandepot.com |
sender.email.domain.root_domain | member | sofi.com |
sender.email.domain.root_domain | member | lensa.com |
sender.email.domain.root_domain | member | indeed.com |
sender.email.domain.root_domain | member | ziprecruiter.com |
sender.email.domain.root_domain | member | glassdoor.com |
sender.email.domain.root_domain | member | postjobfree.com |
sender.email.domain.root_domain | member | jobplacements.com |