Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions detection-rules/impersonation_usps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ source: |
and (
any(ml.logo_detect(file.message_screenshot()).brands, .name == "USPS")
or strings.icontains(sender.display_name, "USPS")
or strings.icontains(sender.display_name, "United States Postal Service")
or regex.contains(body.html.display_text, 'USPS\s*\.\s*COM')
or strings.icontains(body.current_thread.text, 'USPS Delivery Team')
)
Expand All @@ -19,7 +20,9 @@ source: |
"*package*",
'*view your order*',
"*update*",
'*delivery address*'
'*delivery address*',
"*parcel allocation*",
"*claim your parcel*"
)
),
strings.ilike(body.current_thread.text,
Expand All @@ -30,7 +33,8 @@ source: |
'*receiver address*',
'*package details*',
'*sorry tolet*',
'*Due to an incorrect*'
'*Due to an incorrect*',
'*remain undeliverable*'
),
// impersonal greeting
any(ml.nlu_classifier(body.current_thread.text).entities,
Expand All @@ -41,6 +45,9 @@ source: |
),
// free email sender
sender.email.domain.root_domain in $free_email_providers,
network.whois(sender.email.domain).days_old < 30,
not network.whois(sender.email.domain).found,

// contains link to recently registered domain
any(body.links, network.whois(.href_url.domain).days_old < 15),
(
Expand All @@ -50,7 +57,8 @@ source: |
and not regex.icontains(body.html.display_text,
'\b(?:usps|shipping|delivery)\b'
)
)
),
any(body.links, regex.icontains(.href_url.url, 'https?://[0-9]{7,12}/.+')),
)
and (
sender.email.domain.root_domain not in (
Expand Down
Loading