CleanContact
← Назад в базу знаний

Подозрительные адреса: как не пишут люди

Не каждый адрес, прошедший проверку адреса, был на самом деле набран человеком. Инструменты, которым на каждой регистрации нужен новый уникальный на вид адрес, обычно производят локальную часть такой формы, какую настоящий человек никогда не станет набирать. CleanContact ищет именно такую форму и помечает её сразу, не дожидаясь повторного появления адреса.

Почему это важно

Сигналы, которые опираются на историю — например, Gmail dot trick, которому нужно увидеть два написания одного адреса, — всегда пропускают первую мошенническую регистрацию бесплатно, потому что сравнивать её пока не с чем. Адрес, который не похож на то, что стал бы набирать человек, подозрителен сам по себе, ещё до появления какой-либо истории, поэтому позволяет пометить или заблокировать регистрацию уже на первом запросе.

Что считается подозрительным

Проверка смотрит только на форму присланного адреса — ни запроса к базе, ни истории, ни временного окна. Она не ограничена одним провайдером или одним паттерном: ищутся написания, не похожие на то, как люди на самом деле пишут своё имя, в отличие от паттернов, которые производит скрипт, когда ему нужны бесконечные разные на вид написания одного адреса. Конкретные паттерны не фиксированы — CleanContact добавляет новые по мере появления новых схем злоупотребления, поэтому стоит относиться к risk.suspicious как к развивающемуся сигналу, а не к одному застывшему правилу.

Пример

Один из паттернов, которые ловятся уже сейчас: адрес Gmail или Googlemail, у которого локальная часть содержит три и более точки. Настоящие люди пишут своё имя максимум с одной-двумя точками — имя.фамилия или имя.отчество.фамилия, — а адрес вроде shaff.e.r.t.ane.s.h.ia.8.3.6@gmail.com не похож на имя, которое кто-то стал бы набирать: он читается как результат работы генератора, производящего бесконечные написания одного и того же адреса.

curl -H "X-API-Key: <ваш-ключ>" \
  "https://api.cleancontact.ru/validate?email=shaff.e.r.t.ane.s.h.ia.8.3.6@gmail.com"

Поле risk появится уже в ответе на этот первый запрос, без какой-либо истории:

{
  "value": "shaff.e.r.t.ane.s.h.ia.8.3.6@gmail.com",
  "result": {
    "status": "Good",
    "detail": "Mailbox accepts mail"
  },
  "risk": {
    "suspicious": true
  }
}

suspicious и gmailDotTrick — независимые сигналы и могут присутствовать в одном объекте risk одновременно: адрес, попавший под эту проверку, который позже придёт под ещё одним написанием, получит оба флага.

Что это даёт

  • Блокируйте с первой попытки — не нужно ждать вторую регистрацию, чтобы подтвердить паттерн, в отличие от сигналов, опирающихся на историю, вроде gmail dot trick.
  • Вердикт остаётся честным — Good, Bad или Unknown никогда не меняются из-за сигнала risk; адрес может прекрасно принимать почту и всё равно быть помечен как подозрительный.
  • Настраивать нечего — проверка выполняется для каждого запроса по каждому ключу API без дополнительных затрат и продолжает покрывать новые паттерны по мере их добавления.