Detection rules › Sublime MQL

Attachment: SVG file with hyperlinks and cursor styling

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

Detects inbound messages containing SVG attachments that include clickable hyperlink elements and CSS pointer cursor styling, which may be used to deceive recipients into clicking malicious links disguised as legitimate images.

Threat classification

Sublime's own taxonomy (not MITRE ATT&CK).

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesEvasion, Image as content

Event coverage

Rule body MQL

type.inbound
and any(attachments,
        (
          .file_extension == "svg"
          or .content_type in ("image/svg+xml")
          or .file_type == "svg"
        )
        and any(file.explode(.), any(.scan.xml.tags, . == "a"))
        and regex.icontains(file.parse_text(., encodings=["ascii", "utf8"]).text,
                            'cursor\s*=\s*["\x27]pointer'
        )
)

Detection logic

Scope: inbound message.

Detects inbound messages containing SVG attachments that include clickable hyperlink elements and CSS pointer cursor styling, which may be used to deceive recipients into clicking malicious links disguised as legitimate images.

  1. inbound message
  2. any of attachments where all hold:
    • any of:
      • .file_extension is 'svg'
      • .content_type in ('image/svg+xml')
      • .file_type is 'svg'
    • any of file.explode(.) where:
      • any of .scan.xml.tags where:
        • . is 'a'
    • file.parse_text(., encodings=['ascii', 'utf8']).text matches 'cursor\\s*=\\s*["\\x27]pointer'

Inspects: attachments[].content_type, attachments[].file_extension, attachments[].file_type, type.inbound. Sensors: file.explode, file.parse_text, regex.icontains.

Indicators matched (5)

FieldMatchValue
attachments[].file_extensionequalssvg
attachments[].content_typememberimage/svg+xml
attachments[].file_typeequalssvg
file.explode(attachments[])[].scan.xml.tags[]equalsa
regex.icontainsregexcursor\s*=\s*["\x27]pointer