Medium Severity

Link: Copy-paste browser instruction with suspicious domain

Description

Flags inbound messages that instruct the recipient to copy or paste a URL into their web browser, then examines the surrounding text for a bare (non-hyperlinked) hostname. The rule triggers when that domain is not linked anywhere else in the message, does not match the sender's own domain, and is hosted on a known free subdomain host—patterns consistent with attempts to bypass automated URL scanning by avoiding clickable hyperlinks.

References

No references.

Sublime Security
Created Sep 29th, 2026 • Last updated Sep 29th, 2026
Source
type.inbound
// window of lines around a copy/paste-into-browser instruction
and any(regex.iextract(body.current_thread.text,
                       '(?P<window>(?:[^\n]*\n){0,2}[^\n]*(?:cop(?:y|ied)|past(?:e|ed))\b[^\n]{0,50}?\b(?:in|into|to)\s+(?:your|a|the|any)\s+(?:web\s+)?browser[^\n]*(?:\n[^\n]*){0,3})'
        ),
        // bare hostnames within that window, parsed once
        any(map(regex.iextract(.named_groups["window"],
                               '(?:^|[\s:(])(?P<host>[a-z0-9-]+(?:\.[a-z0-9-]+)+\.[a-z]{2,})(?:/\S*)?(?:[\s.,;)!]|$)'
                ),
                strings.parse_url(strings.concat("https://",
                                                 .named_groups["host"]
                                  )
                ).domain
            ),
            .valid
            // never hyperlinked anywhere in the message and not the sender's own domain
            and .root_domain not in map(body.links,
                                        .href_url.domain.root_domain
            )
            and .root_domain !~ sender.email.domain.root_domain
            // free app hosting
            and .root_domain in $free_subdomain_hosts
        )
)
MQL Rule Console
•Docs•Learning Labs

Playground

Test against your own EMLs or sample data.

Share

Post about this on your socials.

Get Started. Today.

Managed or self-managed. No MX changes.

Deploy and integrate a free Sublime instance in minutes.
Get Started