Документация Spam Scanner
Spam Scanner — спам-фильтр для Node.js и командной строки с исходным кодом на GitHub. Он читает исходное письмо и определяет, является ли оно спамом, фишингом, мошенничеством или содержит вредоносную программу, на любом языке. Он работает как библиотека, инструмент командной строки, milterMail filter: протокол из Sendmail, который также использует Postfix; позволяет отдельной программе проверять каждое письмо во время SMTP-сессии. для Postfix или Sendmail, контент-фильтр Postfix, совместимый со SpamAssassin сервер spamdДемон SpamAssassin. Его протокол используют spamc, Exim, Haraka и другие клиенты SpamAssassin., HTTP API или TCP-сервер.
Его разрабатывает Forward Email для собственных почтовых серверов.
Как оценивается письмо#
Каждая проверка добавляет или снимает баллы. Итог определяет сумма:
| Оценка | Действие | Что делает почтовый сервер |
|---|---|---|
| Ниже 5 | accept | Доставляет письмо |
| От 5 до 14,9 | tag | Доставляет его с пометкой «спам» |
| 15 и выше | reject | Отклоняет его во время SMTP-сессии |
Оба порога можно изменить. В каждом результате перечислены сработавшие тесты с баллами и причиной, поэтому любое решение можно объяснить.
Проверки:
- Обученный классификатор читает слова письма в любой письменности, форму его ссылок, отправителя и вложения. Он поставляется обученным на публичных наборах данных и учится на вашей собственной почте. Как работает классификатор
- Проверки на фишинг находят похожие домены (
paypa1.com,pаypal.comс кириллической «а»), ссылки, текст которых показывает один адрес, а цель ведёт на другой, и отображаемые имена, выдающие себя за бренд. Фишинг - Проверки вложений находят исполняемые файлы, исполняемые файлы, переименованные в документы, двойные расширения, трюки с письмом справа налево в имени файла, исполняемые файлы внутри ZIP-архивов, макросы Office и активное содержимое PDF. ClamAVАнтивирусный движок с открытым исходным кодом. Его демон clamd проверяет файлы, переданные через сокет. может проверять вложения на вирусы. Вложения
- Аутентификация: SPFSender Policy Framework: запись в DNS со списком серверов, которым разрешено отправлять почту от имени домена., DKIMDomainKeys Identified Mail: подпись письма, которая проверяется открытым ключом, опубликованным в DNS отправителя., DMARCПолитика в DNS, которая сообщает получателям, что делать с письмом от имени домена, не прошедшим выравнивание SPF и DKIM. и ARCAuthenticated Received Chain: подписи, которые переносят результаты аутентификации через пересылающие серверы., если известен IP-адрес клиента. Аутентификация
- Чёрные списки в DNS для IP-адреса клиента и доменов в ссылках, а также фильтрующие резолверы Cloudflare для известных вредоносных сайтов и сайтов для взрослых. Чёрные списки
- Правила для шаблонов, которым классификатору не нужно учиться: тестовая строка GTUBEGeneric Test for Unsolicited Bulk Email: фиксированная строка, которую любой спам-фильтр считает спамом; используется для тестирования., темы писем с сексуальным вымогательством, мошеннические счета PayPal, подделка собственного домена и инструкции, скрытые для ИИ-фильтров. Правила
- Языковая модель, по желанию, даёт второе мнение в спорных случаях: локальная модель через OllamaПрограмма, которая загружает и запускает открытые языковые модели на вашей машине и предоставляет HTTP API. или любой сервер, совместимый с OpenAI, модель принятия решений, например Clef от Cloudflare, либо Claude, ChatGPT, Gemini и другие. По умолчанию она за один шаг возвращает вероятность каждого вердикта, а не пишет ответ. Языковые модели
С чего начать#
- Начало работы: установка и проверка первого письма.
- Командная строка: все команды и параметры.
- Postfix и Sendmail: фильтрация почтового сервера через milter или контент-фильтр.
- Другие почтовые серверы: Exim, Haraka, Dovecot, procmail и всё, что может вызвать HTTP API.
- Обучение: обучение на вашей собственной почте и измерение результата.
- Языковые модели: решения и генерация, измеренные точность и скорость, модели принятия решений, провайдеры, рекомендуемые открытые модели, приватность и внедрение инструкций (prompt injection).
- Языки: как фильтр читает китайский, арабский, тайский и любую другую письменность.
- Forward Email: как его использует Forward Email и как обновиться с версии 5 или 6.
- Справочник API и тесты и баллы.
- Безопасность и приватность: что покидает машину и как это остановить.