Я регулярно пользуюсь сервисом Virustotal. Все незнакомые файлы обязательно проверяю та... — 17 апреля 2026 г. в 09:11:01.379
Я регулярно пользуюсь сервисом Virustotal. Все незнакомые файлы обязательно проверяю там. Обычно через веб интерфейс. Случайно узнал, что у этого сервиса есть бесплатный консольный клиент - VirusTotal CLI. Для того, чтобы им пользоваться, нужно получить API ключ, а для этого пройти регистрацию. Особых проблем с этим нет, сервис поддерживает аутентификацию через тот же github. Зашёл через свою учётку там и сразу забрал API ключ из отдельного раздела API Key. Ограничение бесплатной версии - 500 проверок в день. Для единоличного использования хватит за глаза. Дальше забираем бинарник под свою систему: Windows, Lunux, MacOS или FreeBSD. Я взял линуксовую версию, несмотря на то, что моя основная рабочая система - Windows. Использовать его буду в WSL. Разработчики советуют запускать vt-cli под виндой не в стандартном терминале, а хотя бы в cygwin из-за того, что в стандартном окружении Windows утилита будет подтупливать при выводе портянок текста. Если вам это некритично, то можно сразу в винду поставить: # winget install VirusTotal.vt-cli Я в итоге поставил так: $ wget https://github.com/VirusTotal/vt-cli/releases/download/1.3.0/Linux64.zip $ unzip Linux64.zip $ sudo mv vt /usr/local/bin Дальше хотел добавить встроенное автозаполнение для bash, но у меня ничего не получилось: $ sudo vt completion bash > /etc/bash_completion.d/vt bash: /etc/bash_completion.d/vt: Permission denied Кто догадается, почему эта команда не сработала с sudo? Я когда набирал, не подумал об этом, но как получил ошибку, сразу понял в чём дело. Тут есть один важный нюанс, из-за которого такая конструкция не работает. Пришлось сделать, как обычно 😁: $ sudo su # vt completion bash > /etc/bash_completion.d/vt # exit После этого регистрируем свой API Key: $ vt init Теперь можно в консоли делать различные проверки: $ vt scan file awscliv2.zip awscliv2.zip M2UwMDJjNjU2MTZjRlZmY6MTc3NjM2NDgzNQ== Файл загрузился и ему назначен ID. Нужно некоторое время, чтобы завершилась проверка. Обычно минута-две. Смотрим результат проверки по этому ID: $ vt analysis M2UwMDJjNjU2MTZjRlZmY6MTc3NjM2NDgzNQ== Вываливается портянка проверок. Большого смысла читать всё нет. Нас интересует только результат: $ vt analysis -i=stats M2UwMDJjNjU2MTZjRlZmY6MTc3NjM2NDgzNQ== - stats: confirmed-timeout: 0 failure: 1 harmless: 0 malicious: 0 suspicious: 0 timeout: 11 type-unsupported: 8 undetected: 56 Таким же образом можно сайты и их IP адреса проверять: $ vt url https://serveradmin.ru $ vt url last_serving_ip_address https://serveradmin.ru Можно ограничить вывод, чтобы не читать всё: $ vt -i=**.result url https://serveradmin.ru $ vt -i=**.result url last_serving_ip_address https://serveradmin.ru Я погонял разные проверки. Сначала вроде воодушевился, что можно использовать CLI. Но на деле анализировать вывод глазами не очень удобно. В браузере привычнее. Возможно вам где-то это пригодится больше, чем мне. У кого какие привычки. Это решение скорее для каких-то небольших своих проектов типа телеграм бота или скриптов автоматизации с проверками доменов или IP адресов, если их не очень много. Например, с помощью этой утилиты можно автоматически проверять свои IP адреса на предмет попадания в списки нежелательных адресов. #security

