Tests and scores

A message is spam at 5 points and rejected at 15. Each test below adds or removes points; the result lists the ones that fired.

Change the thresholds with threshold and rejectThreshold. Change points with scores, either by setting key (scores: {deceptiveLink: 4}) or by test name, which fixes that test's points (scores: {FROM_NAME_BRAND: 4}).

Classifier#

TestPointsMeaning
BAYES_00 to BAYES_999-2.5 to +6.25The classifier's spam probability, on a log-odds scale: 2.4 points at 90%, 5 at 99% and 6.25 at 99.9%, so the classifier marks spam on its own only when it is at least 99% sure. The name gives the band: BAYES_999 is 99.9% or more, BAYES_99 99% to 99.9%, BAYES_50 40% to 60%. Setting keys bayesHam and bayesSpam set the two ends.
TestPointsSetting keyMeaning
PHISHING_LOOKALIKE_DOMAIN5homographA link's domain imitates a brand with lookalike or swapped characters
MIXED_SCRIPT_DOMAIN3mixedScriptDomainA domain label mixes alphabets
BRAND_IN_DOMAIN1.5brandInDomainA brand name inside someone else's domain
TYPO_DOMAIN1typoDomainOne letter away from a brand's domain
DECEPTIVE_LINK3deceptiveLinkA link shows one address and goes to another
MALICIOUS_DOMAIN6maliciousDomainCloudflare's malware resolver blocks a linked domain
ADULT_DOMAIN2adultDomainCloudflare's family resolver blocks a linked domain
URIBL_<LIST>5uriblListedA linked domain is on a domain blocklist, for example URIBL_DBL

Domains only named in the text, not linked, are checked for lookalikes too, but count only when they plainly imitate a brand: lookalike letters, or swapped characters for a brand of five letters or more. A reply or signature may name any site, and a company may have a short name one character from a brand's.

Attachments#

TestPointsSetting keyMeaning
EXECUTABLE_ATTACHMENT10executableA program or script
DISGUISED_EXECUTABLE12disguisedExecutableA program named like a document or image
DOUBLE_EXTENSION6doubleExtensionA name such as invoice.pdf.exe
RTL_OVERRIDE_FILENAME6rtlOverrideA right-to-left override hides the real extension
EXECUTABLE_IN_ARCHIVE8executableInArchiveA program inside a ZIP file
ENCRYPTED_ARCHIVE2encryptedArchiveAn archive scanners cannot open
MACRO_ATTACHMENT4macroAn Office file with macros
PDF_ACTIVE_CONTENT3pdfActiveA PDF with JavaScript, launch actions or embedded files
RTF_EMBEDDED_OBJECT4rtfObjectAn RTF file with embedded objects
HTML_ATTACHMENT1 or 3htmlAttachment, activeHtmlAttachmentAn HTML file; 3 when it has scripts or forms
VIRUS100virusClamAV found a virus

Rules#

TestPointsMeaning
GTUBE1000The GTUBE test string
SEXTORTION_SUBJECT6A subject used by sextortion and account takeover scams
PAYPAL_INVOICE6A PayPal invoice or money request, a channel abused for scams
MICROSOFT_SPAM_VERDICT5Microsoft marked the message as spam before relaying it (trusted only from Microsoft's servers)
MICROSOFT_HIGH_SCL3Microsoft gave it a high spam confidence level (likewise)
PROMPT_INJECTION3Text addressed to an AI filter
SELF_SPOOF3Claims to be from the recipient's own domain and does not authenticate
FROM_NAME_OTHER_ADDRESS2.5The display name contains a different email address
FROM_NAME_BRAND2The display name claims a brand the address does not belong to
DATE_IN_FUTURE1Dated more than a day ahead
MISSING_DATE0.5No Date header
MISSING_MESSAGE_ID0.5No Message-ID header

Rules worth at least the spam threshold also appear in results.arbitrary, as in earlier versions.

Obfuscation and language#

TestPointsSetting keyMeaning
INVISIBLE_CHARACTERS2invisibleCharactersThree or more invisible characters inside the text
MIXED_SCRIPT_WORDS2.5mixedScriptWordsTwo or more words mix letters from different alphabets
STYLED_LETTERS1.5styledLettersMathematical or enclosed letters posing as plain text
LANGUAGE_NOT_ALLOWED3languageNotAllowedNot in allowedLanguages

Authentication#

Needs the client's IP address and authentication: true.

TestPointsSetting key (in authentication.weights)
SPF_PASS-0.5spfPass
SPF_FAIL2spfFail
SPF_SOFTFAIL1spfSoftfail
DKIM_PASS-0.5dkimPass
DKIM_FAIL1dkimFail
DMARC_PASS-1.5dmarcPass
DMARC_FAIL3.5dmarcFail
ARC_PASS-0.5arcPass
ARC_FAIL1arcFail

Reputation and blocklists#

TestPointsSetting keyMeaning
DENYLISTED100denylistedThe sender's IP address, domain or address is on the denylist
ALLOWLISTED-20allowlistedIt is on the allowlist
TRUTH_SOURCE-5truthSourceA reputation service marks the sender as trusted
RBL_<LIST>4rblListedThe client's IP address is on a blocklist, for example RBL_ZEN

Language model and optional models#

TestPointsSetting keyMeaning
LLM_SPAM, LLM_PHISHING, LLM_SCAM, LLM_MALWAREup to +6llmSpamThe model's verdict, times its confidence
LLM_HAMdown to -3llmHamLikewise
TOXIC_CONTENT3toxicityA toxicity model you supply flagged the text
NSFW_IMAGE3nsfwAn image model you supply flagged an image

Edit this page on GitHub · Markdown ·