I didn't want to submit this as an official patch since there's still some argument about whether or not SA should be watching for virus/worm mails. I've been getting enough of these things lately though that I wanted SA to catch them (why parse the message twice?) and then I can deal with them based on the test listing in the header.
I use: full AUDIO_ATTACH eval:check_for_audio_executables() describe AUDIO_ATTACH Has an audio attachment with an executable extension score AUDIO_ATTACH 10 And the patch for EvalTests.pm (against 2.20, but should be generic enough for other versions) is attached. The test looks for an attachment of type x-wav or x-midi with a filename extention any of: wav, pif, scr, bat, com. -- Randomly Generated Tagline: "Honesty is the key to a relationship. If you can fake that, you're in." - Richard Jeni
--- EvalTests.pm.orig Thu Apr 25 18:45:52 2002 +++ EvalTests.pm Thu Jun 13 17:15:48 2002 @@ -1082,4 +1082,23 @@ sub check_for_missing_headers { return 0; } # obsolete test +# search for likely MS worms +sub check_for_audio_executables { + my ($self, $fulltext) = @_; + + my $content_type = $self->{msg}->get_header('Content-Type'); + $content_type = '' unless defined $content_type; + $content_type =~ /\bboundary\s*=\s*["']?(.*?)["']?(?:;|$)/i; + my $boundary = "\Q$1\E"; + + # No message sections to check + return 0 unless ( defined $boundary ); + + while ( $$fulltext =~ /^--$boundary\n((?:[^\n]+\n)+)/mg ) { + return 1 if ( $1 =~ +m@^Content-Type:\s+audio/x-(wav|midi)\b.{0,100}\bname=.{0,100}\.(?:exe|pif|scr|bat|com)\b@msi + ); + } + + 0; +} + 1;