Detection rules › Sublime MQL

Spam: Ghostwriting services scam with manipulative language

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

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).

CategoryValues
Attack typesSpam
Tactics and techniquesSocial engineering

Event coverage

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.

  1. inbound message
  2. length(body.current_thread.text) < 1500
  3. 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'
  4. 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'
  5. not:
    • any of ml.nlu_classifier(body.current_thread.text).topics where 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'
  6. 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)

FieldMatchValue
strings.icontainssubstringbook project
strings.icontainssubstringghostwriting
strings.icontainssubstringbecoming an author
strings.icontainssubstringyour book
strings.icontainssubstringwriting project
strings.icontainssubstringpublish
strings.icontainssubstring author
strings.icontainssubstringghostwriter
strings.icontainssubstringwriting firm
strings.icontainssubstringbook writing
strings.icontainssubstringpublishing
strings.icontainssubstringcomplimentary
18 more
strings.icontainssubstringsample
strings.icontainssubstringchapter
strings.icontainssubstringconsultation
strings.icontainssubstringfascinated
strings.icontainssubstringwhat you have done
strings.icontainssubstringinspiring stories
strings.icontainssubstringgather some information
strings.icontainssubstringfew minutes of your time
strings.icontainssubstringabsolutely no obligation
strings.icontainssubstringwriting team
ml.nlu_classifier(body.current_thread.text).topics[].namememberNewsletters and Digests
ml.nlu_classifier(body.current_thread.text).topics[].namememberEvents and Webinars
ml.nlu_classifier(body.current_thread.text).topics[].namememberEducational and Research
ml.nlu_classifier(body.current_thread.text).topics[].namememberFinancial Communications
ml.nlu_classifier(body.current_thread.text).topics[].namememberAdvertising and Promotions
ml.nlu_classifier(body.current_thread.text).topics[].namememberLegal and Compliance
ml.nlu_classifier(body.current_thread.text).topics[].namememberProfessional and Career Development
ml.nlu_classifier(body.current_thread.text).topics[].confidenceequalshigh