svn commit: r1932421 - spamassassin/trunk/rules
| Newsgroups | gmane.mail.spam.spamassassin.cvs |
|---|---|
| Message-ID | <177405565405.437685.15977728236902976402@svn02-us-east.apache.org> |
Author: jhardin
Date: Sat Mar 21 01:14:13 2026
New Revision: 1932421
Log:
add replace tags for obfuscated digits
Modified:
spamassassin/trunk/rules/25_replace.cf
Modified: spamassassin/trunk/rules/25_replace.cf
==============================================================================
--- spamassassin/trunk/rules/25_replace.cf Fri Mar 20 20:10:02 2026 (r1932420)
+++ spamassassin/trunk/rules/25_replace.cf Sat Mar 21 01:14:13 2026 (r1932421)
@@ -53,6 +53,26 @@ replace_tag W (?:[wWv\xd8\xf8\xf9\xfe]|[
replace_tag X (?:[xX\xd7\xf7]|><|[\xce][\xa7]|[\xcf][\x87\xa7\x97\xb0]|[\xd0][\x96\xa5\xb6]|[\xd1][\x85]|[\xd2][\x96\x97\xb2\xb3]|[\xd3][\x81\x82\x9c\x9d\xbc\xbd\xbe\xbf]|[\xe1](?:[\xba][\x8a-\x8d])|[\xf0][\x9d](?:[\x90][\x97\xb1]|[\x91][\x8b\xa5\xbf]|[\x92][\x99]|[\x93][\x8d]|[\x94][\x81\xb5]|[\x95][\x8f\xa9]|[\x96][\x83\x9d\xb7]|[\x97][\x91\xab]|[\x98][\x85\x9f\xb9]|[\x99][\x93\xad]|[\x9a][\x87\xa1\xbe]|[\x9b][\x98\x9e\xb8]|[\x9c][\x92\x98\xb2]|[\x9d][\x92\x9f]|[\x9e][\x86\x8c\xa6]|[\x9f][\x80\x86]))
replace_tag Y (?:[yY\xbe\xd5\xdb\xe3\xff\xfd\xa5j]|[\xc3][\x9d\xbd\xbf]|[\xc5][\xb6\xb7\xb8]|[\xce][\x8e\xa5\xab\xb3]|[\xcf][\x92\x93\x94]|[\xd0][\x8e\xa3]|[\xd1][\x83\x87\x9e]|[\xd2][\xae\xaf\xb0\xb1\xb6\xb7\xb8\xb9]|[\xd3][\x8b\x8c\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5]|[\xd4][\xbf]|[\xd5][\x8e\xaf\xbe]|[\xe1](?:[\xba][\x8e\x8f\x99]|[\xbb][\xb2-\xb9\xbe\xbf]|[\xbd][\x99-\x9f]|[\xbf][\xa8-\xab])|[\xf0][\x9d](?:[\x90][\x98\xb2]|[\x91][\x8c\xa6]|[\x92][\x80\x9a\xb4]|[\x93][\x8e\xa8]|[\x94][\x82]|[\x95][\x90\xaa]|[\x96][\xb8]|[\x97][\x92\xac]|[\x98][\x86\xa0\xba]|[\x99][\x94\xae]|[\x9a][\x88\xa2\xbc]|[\x9b][\x84\xb6\xbe]|[\x9c][\xb0\xb8]|[\x9d][\xaa\xb2]|[\x9e][\xa4\xac]))
replace_tag Z (?:[zZs\xc6]|[\xc5][\xb9\xba\xbb\xbc\xbd\xbe]|[\xce][\x96\xb6]|[\xe1](?:[\xba][\x90-\x95])|[\xf0][\x9d](?:[\x90][\x99\xb3]|[\x91][\x8d\xa7]|[\x92][\x81\x9b]|[\x95][\x91\xab]|[\x96][\xb9]|[\x97][\x93\xad]|[\x98][\x87\xa1\xbb]|[\x99][\x95\xaf]|[\x9a][\x89\xa3\xad]|[\x9b][\xa7]|[\x9c][\xa1]|[\x9d][\x9b]|[\x9e][\x95]))
+# <0>: 0 o O ° Ο ο О о ∅ 0 ⁰ ₀ ⓪ ⓿ ○ 𝟎 𝟘 𝟢 𝟬 𝟶
+replace_tag 0 (?:[0oO]|[\xc2][\xb0]|[\xce][\x9f\xbf]|[\xd0][\x9e\xbe]|[\xef][\xbc][\x90]|[\xe2](?:[\x81][\xb0]|[\x82][\x80]|[\x88][\x85]|[\x93][\xaa\xbf]|[\x97][\x8b])|[\xf0][\x9d][\x9f][\x8e\x98\xa2\xac\xb6])
+# <1>: 1 I i l | ! ¹ І і ∣ 1 ₁ ① ⑴ ⓵ ❶ 𝟏 𝟙 𝟣 𝟭 𝟷
+replace_tag 1 (?:[1Ii|!]|(?-i:l)|[\xc2][\xb9]|[\xd0][\x86]|[\xd1][\x96]|[\xef][\xbc][\x91]|[\xe2](?:[\x82][\x81]|[\x88][\xa3]|[\x91][\xa0\xb4]|[\x93][\xb5]|[\x9d][\xb6])|[\xf0][\x9d][\x9f][\x8f\x99\xa3\xad\xb7])
+# <2>: 2 z Z ² ƨ ƻ 2 ₂ ② ⑵ ⓶ ❷ 𝟐 𝟚 𝟤 𝟮 𝟸
+replace_tag 2 (?:[2zZ]|[\xc2][\xb2]|[\xc6][\xa8\xbb]|[\xef][\xbc][\x92]|[\xe2](?:[\x82][\x82]|[\x91][\xa1\xb5]|[\x93][\xb6]|[\x9d][\xb7])|[\xf0][\x9d][\x9f][\x90\x9a\xa4\xae\xb8])
+# <3>: 3 ³ Ʒ ʒ З з ∃ ∋ ∍ ⋺ 3 ₃ ③ ⑶ ⓷ ❸ 𝟑 𝟛 𝟥 𝟯 𝟹
+replace_tag 3 (?:3|[\xc2][\xb3]|[\xc6][\xb7]|[\xca][\x92]|[\xd0][\x97\xb7]|[\xef][\xbc][\x93]|[\xe2](?:[\x82][\x83]|[\x88][\x83\x8b\x8d]|[\x8b][\xba]|[\x91][\xa2\xb6]|[\x93][\xb7]|[\x9d][\xb8])|[\xf0][\x9d][\x9f][\x91\x9b\xa5\xaf\xb9])
+# <4>: 4 A 4 ⁴ ₄ ④ ⑷ ⓸ ❹ 𝟒 𝟜 𝟦 𝟰 𝟺
+replace_tag 4 (?:4|(?-i:A)|[\xef][\xbc][\x94]|[\xe2](?:[\x81][\xb4]|[\x82][\x84]|[\x91][\xa3\xb7]|[\x93][\xb8]|[\x9d][\xb9])|[\xf0][\x9d][\x9f][\x92\x9c\xa6\xb0\xba])
+# <5>: 5 s S Ƽ ƽ 5 ⁵ ₅ ⑤ ⑸ ⓹ ❺ 𝟓 𝟝 𝟧 𝟱 𝟻
+replace_tag 5 (?:[5sS]|[\xc6][\xbc\xbd]|[\xef][\xbc][\x95]|[\xe2](?:[\x81][\xb5]|[\x82][\x85]|[\x91][\xa4\xb8]|[\x93][\xb9]|[\x9d][\xba])|[\xf0][\x9d][\x9f][\x93\x9d\xa7\xb1\xbb])
+# <6>: 6 G б 6 ⁶ ₆ ⑥ ⑹ ⓺ ❻ 𝟔 𝟞 𝟨 𝟲 𝟼
+replace_tag 6 (?:6|(?-i:G)|[\xd0][\xb1]|[\xef][\xbc][\x96]|[\xe2](?:[\x81][\xb6]|[\x82][\x86]|[\x91][\xa5\xb9]|[\x93][\xba]|[\x9d][\xbb])|[\xf0][\x9d][\x9f][\x94\x9e\xa8\xb2\xbc])
+# <7>: 7 7 ⁷ ₇ ⑦ ⑺ ⓻ ❼ 𝟕 𝟟 𝟩 𝟳 𝟽
+replace_tag 7 (?:[7]|[\xef][\xbc][\x97]|[\xe2](?:[\x81][\xb7]|[\x82][\x87]|[\x91][\xa6\xba]|[\x93][\xbb]|[\x9d][\xbc])|[\xf0][\x9d][\x9f][\x95\x9f\xa9\xb3\xbd])
+# <8>: 8 8 ⁸ ₈ ⑧ ⑻ ⓼ ❽ 𝟖 𝟠 𝟪 𝟴 𝟾
+replace_tag 8 (?:[8]|[\xef][\xbc][\x98]|[\xe2](?:[\x81][\xb8]|[\x82][\x88]|[\x91][\xa7\xbb]|[\x93][\xbc]|[\x9d][\xbd])|[\xf0][\x9d][\x9f][\x96\xa0\xaa\xb4\xbe])
+# <9>: 9 q g 9 ⁹ ₉ ⑨ ⑼ ⓽ ❾ 𝟗 𝟡 𝟫 𝟵 𝟿
+replace_tag 9 (?:9|(?-i:[qg])|[\xef][\xbc][\x99]|[\xe2](?:[\x81][\xb9]|[\x82][\x89]|[\x91][\xa8\xbc]|[\x93][\xbd]|[\x9d][\xbe])|[\xf0][\x9d][\x9f][\x97\xa1\xab\xb5\xbf])
replace_tag IMG (?:jpe?g|gif|png)
replace_tag SP [\s\d_*\$\%(),.:;?!}{\[\]|\/?^\#~\xa1`'+-]
replace_tag WS (?:=?\s|[\xe2](?:[\x80][\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\xaf]|[\x81][\x9f])|&(?:\#(?:8(?:19[2-9]|20[0-5]|239|287)|160|xa0)|(?:e[nm]|nb|thin)sp);)