Интеграция
Проверка ссылок и фишинговый домен, зарегистрированный час назад
Интеграция с urlscan.io проверяет ссылки, опубликованные в Telegram-сообществе: адрес уходит на анализ, а бот читает вердикт. Проверка по фидам всегда отстаёт от свежего фишинга, поэтому рядом работают эвристики, а отправка ни при каких условиях не должна утащить приватные адреса в публичный архив сканирований.
urlscan.io — интеграция: доступ, лимиты и доступность
- Модель авторизации
- Ключ API
- Время сканирования
- Секунды — страница действительно отрисовывается
- Доступность в Заливе
- Публичный сервис, региональных ограничений нет
- Поток данных
- 5 узлов, через воркер
As of 2025-10-01, Telegram Bot API 13.4
Зачем нужна эта интеграция
Проверка ссылок в криптосообществе — гонка, в которой защищающийся отстаёт структурно. Фишинговые домены регистрируют за часы до использования и выбрасывают за считаные дни, поэтому любой репутационный фид ищет то, чего ещё не видел. Система проверки, построенная только на списках известного плохого, ловит вчерашнюю кампанию и пропускает сегодняшнюю — ту самую, которая и имеет значение.
urlscan полезен тем, что делает больше, чем справку о репутации. Он отрисовывает страницу и докладывает, что увидел: к каким доменам она обращалась, какие ресурсы подгружала, похожа ли она на известный бренд. Этот поведенческий сигнал ловит опустошитель кошельков на домене, зарегистрированном час назад, там, где репутационный список бессилен: страница ведёт себя так же, как остальные страницы кампании, хотя домен новый.
Ограничение, которое требует аккуратности, — видимость. Отправки в urlscan бывают публичными, а публичное сканирование архивируется и становится доступным для поиска. Ссылку с сессионным токеном, приглашением или внутренним адресом нельзя отправлять публично, а отличить публичную ссылку сообщества от того, что участник вставил по неосторожности, заранее удаётся не всегда. Единственная безопасная позиция — по умолчанию отправлять со скрытой видимостью.
Как на самом деле движутся данные
Ключ API лежит как секрет воркера и используется и для отправки, и для получения результатов. Уровень видимости задаётся явно при каждой отправке, а не берётся из значения по умолчанию, потому что именно он решает, попадёт ли адрес в публичный и навсегда доступный для поиска архив.
Модель доступа: API-ключ
Их лимиты и что они означают для вас
Сканирование занимает секунды, потому что страница действительно отрисовывается.
Проверка не мгновенная. Эвристики действуют сразу, вердикт скана приходит следом — поэтому работают оба механизма, а не один из них.
Отправка бывает публичной, скрытой или приватной, и публичные сканирования навсегда остаются доступными для поиска.
Позиция по умолчанию — скрытая отправка. Публичная отправка ссылки с токеном или внутренним адресом безвозвратно утаскивает её в архив с поиском.
Лимиты частоты и доступные уровни видимости зависят от тарифа.
Активное сообщество быстро упирается в бесплатную квоту. Результаты кешируются по адресу, поэтому ссылка, пересланная пятьдесят раз, сканируется один раз.
Скан сообщает о наблюдаемом поведении, а не выносит окончательный вердикт.
Интерпретация остаётся за вами. Отношение к любому сигналу как к двоичному вердикту даёт и ложные срабатывания на законных сайтах, и неоправданную уверенность в незнакомых.
Как это ломается и что происходит потом
Приватный адрес отправлен публично.
Худший из возможных здесь исходов, и необратимый. Видимость задаётся явно при каждой отправке, а не наследуется из умолчания, которое никто не проверял.
Свежий фишинговый домен прошёл проверку.
Ожидаемо, и именно поэтому рядом работают эвристики: домены-двойники, совсем недавняя регистрация, цепочки сокращателей. Ни один подход по отдельности не достаточен, и честный ответ звучит как «обычно, но не всегда».
Законный сайт помечен из-за необычного редиректа.
О подозрительных ссылках предупреждают, а не удаляют их, поэтому ложное срабатывание стоит секунды сомнения, а не удалённого сообщения участника.
API недоступен во время атаки.
Эвристики продолжают работать, а сообществу сообщают, что проверка деградировала. Молча пропускать всё во время активной кампании — худший момент для такого поведения.
Доступность в ОАЭ и остальных странах Залива
Весь мир
Публичный сервис без региональных ограничений. Тариф определяет лимиты частоты и доступные уровни видимости.
Криптосообщества
Случай, ради которого всё это и делается. Объём фишинга и суммы на кону оправдывают проверку, которая обычному сообществу показалась бы избыточной.
Приватные и внутренние ссылки
Отправляются скрыто или не отправляются вовсе. Публичная отправка навсегда сохраняет адрес в архиве с поиском.
Бесплатный тариф
Годится для небольшого сообщества при кешировании результатов. Крупному нужен платный план, и это отдельная статья расходов, а не мелочь напоследок.
Когда эту интеграцию делать не нужно
- В вашем сообществе публикуют ссылки с токенами или внутренними адресами. Проверить их — значит отправить их, а это отдельный риск.
- Вы ждёте, что поймается каждая фишинговая ссылка. Свежие домены проходят репутационные проверки по самому их устройству, и обещать обратное — создавать ложную уверенность.
- Вы хотите автоматически удалять ссылки при любом подозрении. Тогда ложные срабатывания будут удалять сообщения участников, и сообщество это заметит.
- Сообщество маленькое и неспешное. При таком размере люди-модераторы замечают ссылки быстрее любого конвейера проверки.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| Cloudflare Workers | current | Разворот ссылок, эвристики, отправка на сканирование и получение результата. |
| Cloudflare D1 | current | Кеш результатов по адресу, история вердиктов и записи о предупреждениях. |
| Cloudflare KV | current | Короткоживущий кеш для многократно пересылаемых ссылок. |
| Zod | 4.4 | Валидация результатов сканирования, форма которых зависит от его исхода. |
Вопросы, которые возникают при оценке
Поймает ли это фишинговый сайт, зарегистрированный час назад?
Репутационные фиды — нет, потому что они его ещё не видели. Поведенческие сигналы с реальной отрисовки страницы иногда да: страница ведёт себя так же, как остальная кампания, даже на новом домене. Честный ответ — обычно, но не всегда, и именно поэтому рядом работают эвристики.
Безопасно ли отправлять на проверку любую увиденную ссылку?
Только скрытно. Публичная отправка архивируется и навсегда становится доступной для поиска, так что ссылка с сессионным токеном или внутренним адресом утекла бы безвозвратно. Видимость задаётся явно при каждой отправке, а не оставляется на умолчание.
Насколько быстро проходит проверка ссылки?
Секунды, потому что страница действительно отрисовывается. На очевидных случаях эвристики срабатывают сразу, поэтому сообщество защищено, пока скан ещё идёт, а не ждёт вердикта о том, что и так узнаваемо.
Подозрительные ссылки удалять или предупреждать о них?
Заведомо вредоносные удаляются, о подозрительных предупреждают. Предупреждение учит сообщество, на что смотреть, а ложное срабатывание стоит секунды сомнения, а не чужого удалённого сообщения.
Что происходит во время крупной атаки?
Кеширование результатов означает, что ссылка, пересланная пятьдесят раз, сканируется один раз, — именно это удерживает объём в разумных пределах. Если API становится недоступен, эвристики продолжают работать, а сообществу сообщают о деградации проверки, вместо того чтобы молча пропускать всё подряд.
Является ли результат скана вердиктом?
Нет. Он сообщает о наблюдаемом поведении, а интерпретация остаётся за вами. Отношение к одному сигналу как к двоичному даёт и ложные срабатывания на законных сайтах, и неоправданную уверенность в отношении незнакомых.
Что почитать дальше
Бот, внутри которого живёт эта проверка, — сборка антискам-бота.
Спам и рейды — отдельная задача, её разбирает сборка бота модерации сообщества.
Подача данных об угрозах из сторонних источников использует приём из интеграции через универсальные вебхуки.
Остальные сервисы, которых обычно касается бот сообщества, собраны в полном списке интеграций.