You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by qu...@apache.org on 2004/02/21 04:21:08 UTC
svn commit: rev 6806 - incubator/spamassassin/trunk/rules
Author: quinlan
Date: Fri Feb 20 19:21:07 2004
New Revision: 6806
Modified:
incubator/spamassassin/trunk/rules/20_head_tests.cf
incubator/spamassassin/trunk/rules/70_testing.cf
Log:
promote T_MSGID_EVIL_32 to MSGID_RANDY
new Yahoo! redirector apparently
Modified: incubator/spamassassin/trunk/rules/20_head_tests.cf
==============================================================================
--- incubator/spamassassin/trunk/rules/20_head_tests.cf (original)
+++ incubator/spamassassin/trunk/rules/20_head_tests.cf Fri Feb 20 19:21:07 2004
@@ -132,6 +132,15 @@
meta MSGID_DOLLARS (__OUTLOOK_DOLLARS_MSGID && !__HAS_OUTLOOK_IN_MAILER && !__UNUSABLE_MSGID)
describe MSGID_DOLLARS Message-Id has pattern used in spam
+# bit of a ratware rule, but catches a bit more than just the one ratware
+header __MSGID_RANDY Message-ID =~ /<[a-z\d][a-z\d\$-]{10,29}[a-z\d]\@[a-z\d][a-z\d.]{3,12}[a-z\d]>/
+# heuristic to eliminate most good Message-ID formats
+header __MSGID_OK_HEX Message-ID =~ /\b[a-f\d]{8}\b/
+header __MSGID_OK_DIGITS Message-ID =~ /\d{10}/
+header __MSGID_OK_HOST Message-ID =~ /\@(?:\D{2,}|(?:\d{1,3}\.){3}\d{1,3})>/
+meta MSGID_RANDY (__MSGID_RANDY && !(__MSGID_OK_HEX || __MSGID_OK_HOST || __MSGID_OK_HOST))
+describe MSGID_RANDY Message-Id has pattern used in spam
+
###########################################################################
header MSGID_FROM_MTA_SHORT eval:mta_added_message_id('short')
Modified: incubator/spamassassin/trunk/rules/70_testing.cf
==============================================================================
--- incubator/spamassassin/trunk/rules/70_testing.cf (original)
+++ incubator/spamassassin/trunk/rules/70_testing.cf Fri Feb 20 19:21:07 2004
@@ -238,7 +238,13 @@
body T_RANDO_MIZE /\$RAN[DOMI]*\s+[DOMI]*ZE/
# yet another open Yahoo! redirector
-uri T_YAHOO_REDIR /^http:\/\/srd\.yahoo\.com\//i
+uri T_YAHOO_REDIR_1 m{^http://srd\.yahoo\.com/}i
+uri T_YAHOO_REDIR_2 m{^http://srd\.yahoo\.com/.*(?:[^:/?\#]+)://}i
+# these are decent, maybe figure out the FPs to improve
+uri T_YAHOO_REDIR_3 m{^http://(?:srd|drs|rd)\.yahoo\.com/}i
+uri T_YAHOO_REDIR_4 m{^http://(?:srd|drs|rd)\.yahoo\.com/.*(?:[^:/?\#]+)://}i
+uri T_YAHOO_REDIR_5 m{^http://(\S+\.)*(?:srd|drs|rd)\.yahoo\.com/}i
+uri T_YAHOO_REDIR_6 m{^http://(\S+\.)*(?:srd|drs|rd)\.yahoo\.com/.*(?:[^:/?\#]+)://}i
header T_HASHCASH_20 eval:check_hashcash_value('20', '21')
header T_HASHCASH_21 eval:check_hashcash_value('21', '22')
@@ -480,103 +486,6 @@
describe T_MSGID_SPAM_3_6 Message-ID has known spammer pattern
header T_MSGID_SPAM_3_7 Message-Id =~ /<[a-z]{7,}\@(\S+\.)+\S+>/
describe T_MSGID_SPAM_3_7 Message-ID has known spammer pattern
-
-# evil spam tool
-# Message-ID generator algorithm:
-# letter: 1/2 (pick a-z) | 1/2 (pick 0-9)
-# 10-29 letters: 1/8 (pick $) | 1/8 (pick -) | 3/8 (pick a-z) | 3/8 (pick 0-9)
-# letter: 1/2 (pick a-z) | 1/2 (pick 0-9)
-# @
-# letter: 2/3 (pick a-z) | 1/3 (pick 0-9)
-# 3-12 letters: 1/8 (pick .) | 7/12 (pick a-z) | 7/24 (pick 0-9)
-# letter: 2/3 (pick a-z) | 1/3 (pick 0-9)
-header __MSGID_ESPAM Message-ID =~ /<[a-z\d][a-z\d\$-]{10,29}[a-z\d]\@[a-z\d][a-z\d.]{3,12}[a-z\d]>/
-# eliminate hex runs
-header __MSGID_IDIOM_0 Message-ID =~ /\b[a-f\d]{8}/
-header __MSGID_IDIOM_1 Message-ID =~ /\b[a-f\d]{8}\b/
-header __MSGID_IDIOM_2 Message-ID =~ /\b(?:[a-f\d]{12}|[a-f\d]{8})\b/
-# eliminate digit runs
-header __MSGID_IDIOM_3 Message-ID =~ /\d{8}/
-header __MSGID_IDIOM_4 Message-ID =~ /\d{10}/
-header __MSGID_IDIOM_5 Message-ID =~ /\b\d{8}/
-# eliminate plausible hostnames
-header __MSGID_IDIOM_6 Message-ID =~ /\@\D{2,}>/
-header __MSGID_IDIOM_7 Message-ID =~ /\@(?:\D{2,}|(?:\d{1,3}\.){3}\d{1,3})>/
-header __MSGID_IDIOM_8 Message-ID =~ /\@(?:[a-z\d]+\.)?\D{2,}>/
-meta T_MSGID_EVIL_1 (__MSGID_ESPAM && !__MSGID_IDIOM_0)
-meta T_MSGID_EVIL_2 (__MSGID_ESPAM && !__MSGID_IDIOM_1)
-meta T_MSGID_EVIL_3 (__MSGID_ESPAM && !__MSGID_IDIOM_2)
-meta T_MSGID_EVIL_4 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_3)
-meta T_MSGID_EVIL_5 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_4)
-meta T_MSGID_EVIL_6 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_5)
-meta T_MSGID_EVIL_7 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_3)
-meta T_MSGID_EVIL_8 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_4)
-meta T_MSGID_EVIL_9 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_5)
-meta T_MSGID_EVIL_10 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_3)
-meta T_MSGID_EVIL_11 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_4)
-meta T_MSGID_EVIL_12 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_5)
-meta T_MSGID_EVIL_13 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_14 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_15 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_16 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_17 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_18 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_19 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_20 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_21 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_22 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_23 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_24 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_6)
-meta T_MSGID_EVIL_25 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_26 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_27 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_28 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_29 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_30 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_31 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_32 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_33 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_34 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_35 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_36 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_7)
-meta T_MSGID_EVIL_37 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_38 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_39 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_40 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_41 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_42 (__MSGID_ESPAM && !__MSGID_IDIOM_0 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_43 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_44 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_45 (__MSGID_ESPAM && !__MSGID_IDIOM_1 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_46 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_3 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_47 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_4 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_48 (__MSGID_ESPAM && !__MSGID_IDIOM_2 && !__MSGID_IDIOM_5 && !__MSGID_IDIOM_8)
-meta T_MSGID_EVIL_49 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_3 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_50 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_4 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_51 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_5 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_52 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_3 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_53 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_4 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_54 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_5 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_55 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_3 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_56 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_4 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_57 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_5 + __MSGID_IDIOM_6 < 2))
-meta T_MSGID_EVIL_58 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_3 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_59 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_4 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_60 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_5 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_61 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_3 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_62 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_4 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_63 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_5 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_64 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_3 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_65 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_4 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_66 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_5 + __MSGID_IDIOM_7 < 2))
-meta T_MSGID_EVIL_67 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_4 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_68 (__MSGID_ESPAM && (__MSGID_IDIOM_0 + __MSGID_IDIOM_5 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_69 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_3 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_70 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_4 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_71 (__MSGID_ESPAM && (__MSGID_IDIOM_1 + __MSGID_IDIOM_5 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_72 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_3 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_73 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_4 + __MSGID_IDIOM_8 < 2))
-meta T_MSGID_EVIL_74 (__MSGID_ESPAM && (__MSGID_IDIOM_2 + __MSGID_IDIOM_5 + __MSGID_IDIOM_8 < 2))
# some simple subject rules to catch a persistent spammer
header T_SUBJ_XANAX Subject =~ /x.{0,2}a.{0,2}n.{0,2}a.{0,2}x/i