Заметка Автоматическая проверка сайта на Virustotal с отправкой на почту

  • Автор темы Автор темы 0x42
  • Дата начала Дата начала

0x42

Форумчанин
Регистрация
05.05.2025
Сообщения
59
Реакции
6
Иногда полезно мониторить попал-ли ваш сайт во всякие там спам базы и базы антивирусов.

После регистрации на
Чтобы увидеть нужно авторизоваться или зарегистрироваться.
можно создать API и использовать его для автоматической проверки сайта, например раз в неделю, или даже каждый день.)

Вот как это можно сделать:

1)Регистрируемся на
Чтобы увидеть нужно авторизоваться или зарегистрироваться.

2)Получаем API ключ и копируем его себе:
Код:
https://www.virustotal.com/gui/user/my_user_nick/apikey
my_user_nick - поменяйте на свой.

3)Вот sh скрипт:

Bash:
#!/bin/bash

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# === Настройки ===
VT_API_KEY="your_virustotal_api_key"
URL_TO_CHECK="https://yourwebsite.com"
EMAIL_TO="[email protected]"
TMP_FILE="/tmp/vt_scan_result.txt"

# === Отправляем URL на скан ===
SCAN_ID=$(curl -s -X POST "https://www.virustotal.com/api/v3/urls" \
  -H "x-apikey: $VT_API_KEY" \
  --data-urlencode "url=$URL_TO_CHECK" | jq -r '.data.id')

# Проверка: успешно ли отправили
if [ -z "$SCAN_ID" ] || [ "$SCAN_ID" = "null" ]; then
    echo "Ошибка: не удалось отправить URL на проверку" > "$TMP_FILE"
    mail -s "VirusTotal scan error" "$EMAIL_TO" < "$TMP_FILE"
    exit 1
fi

# === Ждём завершения анализа ===
sleep 15

# === Получаем результат ===
REPORT=$(curl -s -X GET "https://www.virustotal.com/api/v3/analyses/$SCAN_ID" \
  -H "x-apikey: $VT_API_KEY")

# === Парсим и формируем сообщение ===
URL_ENCODED=$(echo -n "$URL_TO_CHECK" | base64 | tr '+/' '-_' | tr -d '=')
REPORT_URL="https://www.virustotal.com/gui/url/$URL_ENCODED"

echo "Отчёт VirusTotal для $URL_TO_CHECK" > "$TMP_FILE"
echo "Ссылка на анализ: $REPORT_URL" >> "$TMP_FILE"
echo >> "$TMP_FILE"
echo "$REPORT" | jq -r '.data.attributes.stats | to_entries[] | "\(.key): \(.value)"' >> "$TMP_FILE"

# === Отправляем на почту ===
mail -s "VirusTotal URL Scan Report: $URL_TO_CHECK" "$EMAIL_TO" < "$TMP_FILE"

🔐 Не забудь:​

Установить jq и mail:
Код:
sudo apt install jq mailutils

Сделать скрипт исполняемым:
Код:
sudo chmod +x /usr/local/bin/vt_url_check.sh

🕒 2. Добавим в cron:
Код:
crontab -e
0 3 * * 0 /usr/local/bin/vt_url_check.sh

Выполнится каждое воскресенье в 03:00 (можно поменять на нужное время).

✅ Пример результата на почте:

Код:
Отчёт VirusTotal для https://yourwebsite.com
Ссылка на анализ: https://www.virustotal.com/gui/url/...

harmless: 71
malicious: 0
suspicious: 0
timeout: 1
undetected: 3
 

Похожие темы

Назад
Верх Низ