Detection rules › Sublime MQL

DLP: Portugal Citizen Card Number

Severity
high
Type
dlp
Source
github.com/sublime-security/sublime-rules

Detects messages containing Portuguese Citizen Card Numbers (Cartão de Cidadão).

Event coverage

Rule body MQL

type.outbound
and any([body.current_thread.text, subject.subject],
        // Portuguese Citizen Card: 8 digits + 1 check digit (e.g., 12345678-9)
        regex.contains(., '\b\d{8}[\s\-]?\d\s?[A-Z]{2}\d\b')
)
and any([body.current_thread.text, subject.subject],
        regex.icontains(., 'cartão\s+de\s+cidadão|citizen\s+card')
)

Detection logic

Scope: outbound message.

Detects messages containing Portuguese Citizen Card Numbers (Cartão de Cidadão).

  1. outbound message
  2. any of [body.current_thread.text, subject.subject] where:
    • . matches '\\b\\d{8}[\\s\\-]?\\d\\s?[A-Z]{2}\\d\\b'
  3. any of [body.current_thread.text, subject.subject] where:
    • . matches 'cartão\\s+de\\s+cidadão|citizen\\s+card'

Inspects: body.current_thread.text, subject.subject, type.outbound. Sensors: regex.contains, regex.icontains.

Indicators matched (2)

FieldMatchValue
regex.containsregex\b\d{8}[\s\-]?\d\s?[A-Z]{2}\d\b
regex.icontainsregexcartão\s+de\s+cidadão|citizen\s+card