Detection rules › Sublime MQL
Spam: Ghostwriting services scam with manipulative language
Detects unsolicited messages promoting ghostwriting or book publishing services that use manipulative language patterns commonly seen in scams, such as offering complimentary samples, expressing fascination with the recipient's achievements, or requesting personal information under the guise of writing assistance.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Spam |
| Tactics and techniques | Social engineering |
Event coverage
| Message attribute |
|---|
| body.current_thread |
| headers.auth_summary |
| sender.email |
| subject |
| type |
Rule body MQL
type.inbound
and length(body.current_thread.text) < 1500
and (
// Ghostwriting and book-related terms in subject
strings.icontains(subject.subject, "book project")
or strings.icontains(subject.subject, "ghostwriting")
or strings.icontains(subject.subject, "becoming an author")
or strings.icontains(subject.subject, "your book")
or strings.icontains(subject.subject, "writing project")
or strings.icontains(subject.subject, "publish")
or strings.icontains(subject.subject, " author ")
// Body contains ghostwriting service offers
or strings.icontains(body.current_thread.text, "ghostwriting")
or strings.icontains(body.current_thread.text, "ghostwriter")
or strings.icontains(body.current_thread.text, "writing firm")
or strings.icontains(body.current_thread.text, "book writing")
or strings.icontains(body.current_thread.text, "publishing")
)
// Common scam language patterns
and (
(
strings.icontains(body.current_thread.text, "complimentary")
and (
strings.icontains(body.current_thread.text, "sample")
or strings.icontains(body.current_thread.text, "chapter")
or strings.icontains(body.current_thread.text, "consultation")
)
)
or (
strings.icontains(body.current_thread.text, "fascinated")
and strings.icontains(body.current_thread.text, "what you have done")
)
or strings.icontains(body.current_thread.text, "inspiring stories")
or strings.icontains(body.current_thread.text, "gather some information")
or strings.icontains(body.current_thread.text, "few minutes of your time")
or strings.icontains(body.current_thread.text, "absolutely no obligation")
or strings.icontains(body.current_thread.text, "writing team")
)
and not (
any(ml.nlu_classifier(body.current_thread.text).topics,
.name in (
"Newsletters and Digests",
"Events and Webinars",
"Educational and Research",
"Financial Communications",
"Advertising and Promotions",
"Legal and Compliance",
"Professional and Career Development"
)
and .confidence == "high"
)
)
// Standard negations
and (
(
sender.email.domain.root_domain in $high_trust_sender_root_domains
and not headers.auth_summary.dmarc.pass
)
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)
Detection logic
Scope: inbound message.
Detects unsolicited messages promoting ghostwriting or book publishing services that use manipulative language patterns commonly seen in scams, such as offering complimentary samples, expressing fascination with the recipient's achievements, or requesting personal information under the guise of writing assistance.
- inbound message
- length(body.current_thread.text) < 1500
any of:
- subject.subject contains 'book project'
- subject.subject contains 'ghostwriting'
- subject.subject contains 'becoming an author'
- subject.subject contains 'your book'
- subject.subject contains 'writing project'
- subject.subject contains 'publish'
- subject.subject contains ' author '
- body.current_thread.text contains 'ghostwriting'
- body.current_thread.text contains 'ghostwriter'
- body.current_thread.text contains 'writing firm'
- body.current_thread.text contains 'book writing'
- body.current_thread.text contains 'publishing'
any of:
all of:
- body.current_thread.text contains 'complimentary'
any of:
- body.current_thread.text contains 'sample'
- body.current_thread.text contains 'chapter'
- body.current_thread.text contains 'consultation'
all of:
- body.current_thread.text contains 'fascinated'
- body.current_thread.text contains 'what you have done'
- body.current_thread.text contains 'inspiring stories'
- body.current_thread.text contains 'gather some information'
- body.current_thread.text contains 'few minutes of your time'
- body.current_thread.text contains 'absolutely no obligation'
- body.current_thread.text contains 'writing team'
not:
any of
ml.nlu_classifier(body.current_thread.text).topicswhere all hold:- .name in ('Newsletters and Digests', 'Events and Webinars', 'Educational and Research', 'Financial Communications', 'Advertising and Promotions', 'Legal and Compliance', 'Professional and Career Development')
- .confidence is 'high'
any of:
all of:
- sender.email.domain.root_domain in $high_trust_sender_root_domains
not:
- headers.auth_summary.dmarc.pass
- sender.email.domain.root_domain not in $high_trust_sender_root_domains
Inspects: body.current_thread.text, headers.auth_summary.dmarc.pass, sender.email.domain.root_domain, subject.subject, type.inbound. Sensors: ml.nlu_classifier, strings.icontains. Reference lists: $high_trust_sender_root_domains.
Indicators matched (30)
| Field | Match | Value |
|---|---|---|
strings.icontains | substring | book project |
strings.icontains | substring | ghostwriting |
strings.icontains | substring | becoming an author |
strings.icontains | substring | your book |
strings.icontains | substring | writing project |
strings.icontains | substring | publish |
strings.icontains | substring | author |
strings.icontains | substring | ghostwriter |
strings.icontains | substring | writing firm |
strings.icontains | substring | book writing |
strings.icontains | substring | publishing |
strings.icontains | substring | complimentary |
18 more
strings.icontains | substring | sample |
strings.icontains | substring | chapter |
strings.icontains | substring | consultation |
strings.icontains | substring | fascinated |
strings.icontains | substring | what you have done |
strings.icontains | substring | inspiring stories |
strings.icontains | substring | gather some information |
strings.icontains | substring | few minutes of your time |
strings.icontains | substring | absolutely no obligation |
strings.icontains | substring | writing team |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Newsletters and Digests |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Events and Webinars |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Educational and Research |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Financial Communications |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Advertising and Promotions |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Legal and Compliance |
ml.nlu_classifier(body.current_thread.text).topics[].name | member | Professional and Career Development |
ml.nlu_classifier(body.current_thread.text).topics[].confidence | equals | high |