Состоялся релиз системы фильтрации спама Rspamd 3.9, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и чёрные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется под лицензией Apache 2.0.
Rspamd построен с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитан на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.
В новой версии:
- Улучшена настройка байесовского классификатора. Размер окна по умолчанию уменьшен с 5 до 2 слов, что позволило добиться повышения производительности и в 4 раза сократить потребление места в хранилище без деградации уровня классификации спама. Для тестирования работы классификатора с разными настройками предложена утилита
“rspamadm classifier_test”. - Добавлен модуль GPT, использующий API OpenAI GPT для классификации текста через запрос к большим языковым моделям, таким как GPT-3.5 Turbo и GPT-4o. Точность классификации спама при помощи нового модуля ниже, чем у байесовского классификатора, но его достоинство в том, что он не требует предварительной тренировки и может учитывать контекст в сообщениях, в то время как для эффективной работы байесовского классификатора необходима качественная и сбалансированная тренировка движка. Кроме непосредственного выявления спама в сообщениях модуль GPT может применяться для тренировки байесовского классификатора.
- Реализована возможность совместного использования модулей known_senders и replies для пометки верифицированных отправителей, используя в качестве признака то, что им ранее направлялись ответы.
- По умолчанию отключено динамическое изменение ограничения интенсивности отправки сообщений (dynamic ratelimit), связанных с одним отправителем, получателем или IP-адресом.