Из “проверки через VirusTotal” в полноценный security assistant: как вырос мой Telegram-бот для анализа файлов и ссылок
Друзья, в предыдущей статье я рассказывал про первую версию своего Telegram-бота @VirusTotal52bot для проверки файлов и ссылок на вирусы.
Тогда идея была максимально простая: тебе присылают файл в Telegram, почте или рабочем чате, ты не хочешь открывать его вслепую, но и каждый раз идти вручную на VirusTotal тоже надоедает. Хотелось убрать лишние действия и сделать процесс проверки максимально естественным: переслал файл боту → получил понятный ответ.
Судя по отклику, проблема оказалась знакомой очень многим.
И за это время бот заметно вырос.
Если первая версия была удобным инструментом для быстрой проверки через несколько сканеров с AI-пояснениями, то сейчас это уже полноценный security assistant внутри Telegram.
Расскажу, что изменилось.
Всё началось с простой проблемы
Думаю, многим знакома ситуация.
В чат прилетает сообщение:
— «Вот документ»
— «Смотри сборку»
— «Это новая версия программы»
— «Открой PDF, там всё есть»
И вроде бы файл может быть абсолютно безобидным.
А может — нет.
Причём опасность сейчас уже не только в .exe. Вредоносный payload может приехать где угодно:
- в архиве
- в PDF
- в Word-документе с макросами
- в ссылке на фишинговый сайт
- даже в seemingly harmless media files
Поэтому идея у бота всё та же: дать возможность быстро проверить любой подозрительный объект до открытия.
Что умеет бот сейчас
По сути, бот работает по схеме:
Получил → Проверил → Объяснил
Но каждый из этапов стал заметно мощнее.
Проверка файлов
Можно просто отправить боту файл.
Поддерживаются:
- документы
- архивы
- изображения
- видео
- аудио
- бинарные файлы
Файл улетает на проверку сразу в несколько систем анализа.
Если бот уже видел этот файл недавно — результат возвращается почти мгновенно благодаря кешу.
Это особенно удобно в рабочих чатах, где одни и те же вложения могут пересылаться много раз.
Проверка ссылок
Со ссылками всё ещё интереснее.
Проверка URL идёт сразу по нескольким направлениям:
- репутация домена
- blacklists
- sandbox-анализ
- phishing detection
- malware distribution detection
То есть бот смотрит не только “плохая ссылка или нет”, а пытается понять её реальное поведение.
Мультисканирование: теперь источников стало намного больше
В первой версии основной акцент был на:
- VirusTotal
- URLScan
- Google Safe Browsing
- MetaDefender
Сейчас список заметно шире.
Бот использует сразу несколько источников threat intelligence:
- VirusTotal
- URLScan.io
- MetaDefender
- Google Safe Browsing
- Hybrid Analysis
- URLhaus
- AbuseIPDB
- AlienVault OTX
- Jotti Malware Scan
- Filescan.io
Это даёт намного более адекватную картину.
Потому что один движок может промолчать.Другой — дать false positive.Третий — заметить то, что пропустили остальные.
А когда перед тобой консенсус из нескольких независимых систем — принимать решение проще.
AI-анализ: теперь это не просто “показать цифры”
Вот тут, наверное, произошло самое большое изменение.
Раньше бот просто показывал:
- сколько движков сработало
- кто именно сработал
- какой verdict
Но сухие цифры часто мало что дают.
Например:
1/70 detected
Это много?Это мало?Ложное срабатывание?Или реальная угроза?
Большинство пользователей не хотят самостоятельно разбирать AV-репутацию каждого движка.
Поэтому AI-часть стала сильно мощнее.
Теперь после сканирования можно попросить бота объяснить результат нормальным человеческим языком.
Причём сейчас доступно сразу несколько моделей:
- Llama 3.3 70B
- Mistral Small 24B
- DeepSeek R1
- GPT-OSS 120B
- Qwen 3 80B
- GLM 4.5 Air
- Nemotron Nano
- GPT-OSS 20B
- Qwen Coder
- Kimi K2
То есть пользователь получает уже не просто сводку от антивирусов.
Он получает интерпретацию:
“Файл выглядит безопасным. Большинство движков угроз не обнаружили. Единственное срабатывание, вероятнее всего, является ложноположительным.”
Или:
“Обнаружены множественные срабатывания, включая крупные AV-движки. Высока вероятность malware / trojan behavior. Рекомендуется не открывать файл.”
Это сильно снижает порог входа.
Не нужно быть специалистом по malware analysis, чтобы понять результат.
Локальный Telegram Bot API и большие файлы
Это отдельный большой апгрейд.
Одна из практических проблем Telegram-ботов — ограничения на размер файлов и скорость загрузки через стандартный API.
Поэтому я поднял собственный сервер Telegram Bot API.
Теперь бот работает через локальный Telegram Bot API server на постоянной основе.
Что это даёт:
- стабильнее загрузка файлов
- быстрее обработка
- лучше работа под нагрузкой
- поддержка больших файлов
На практике разница ощущается сразу.
Особенно если бот используется активно и через него прогоняют много тяжёлых файлов.
Умное кеширование
Кеширование тоже стало умнее.
Кешируются:
- результаты сканирования файлов
- результаты проверки URL
- AI-ответы
Это позволяет:
- не гонять одинаковые проверки повторно
- экономить API-лимиты
- ускорять ответы
Если файл уже анализировался недавно — бот ответит практически моментально.
Работа в группах
Бот давно вышел за пределы личных чатов.
Сейчас удобно использовать его и в группах.
Например:
- Кто-то прислал файл
- Вы отвечаете на сообщение
- Упоминаете бота
- Получаете анализ прямо в чате
Без скачивания.Без ручных проверок.Без переходов по сайтам.
Для команд, рабочих чатов и технических сообществ это оказалось особенно полезно.
Что в итоге получилось
Если честно, когда я делал первую версию, я просто хотел решить свою бытовую проблему.
Сделать проверку подозрительных файлов быстрой и удобной.
Но со временем проект вырос.
Сейчас это уже не просто “бот для VirusTotal”.
Это инструмент, который:
- агрегирует данные из множества security-сервисов
- анализирует файлы и ссылки
- использует AI для объяснения результатов
- работает с большими файлами
- помогает быстро принимать решение о рисках
Конечно, бот не заменяет полноценный antivirus stack, EDR или sandbox-инфраструктуру.
Но как первая линия защиты — работает очень хорошо.
Особенно в мире, где подозрительные файлы и ссылки прилетают буквально каждый день.
Идея осталась той же, что и в начале:
безопасность должна быть простой.
Если проверить файл сложно и долго — люди не будут это делать.
Если достаточно просто переслать его боту — вероятность безопасного поведения становится намного выше.
А это уже хорошая привычка.