Panduan Python Script VirusTotal API: Integrasi & Analisis File

Implementasi VirusTotal API dengan Python

Untuk berinteraksi dengan VirusTotal API menggunakan Python, metode paling efisien adalah menggunakan pustaka resmi virustotal-python atau melakukan request HTTP langsung melalui pustaka requests. VirusTotal API v3 memungkinkan Anda untuk mengunggah file, memindai URL, dan mengambil laporan analisis berdasarkan hash file atau ID analisis.

Prasyarat Teknis

Sebelum menjalankan skrip, pastikan Anda telah memiliki API Key yang valid dari akun VirusTotal Anda. Simpan API Key tersebut sebagai variabel lingkungan untuk menjaga keamanan kredensial.

Contoh Skrip Python: Memindai File

Berikut adalah implementasi dasar menggunakan pustaka requests untuk mengunggah file dan mendapatkan laporan analisis:

import requests

API_KEY = 'YOUR_API_KEY_HERE'
FILE_PATH = 'path/to/your/file.exe'
URL = 'https://www.virustotal.com/api/v3/files'

headers = {'x-apikey': API_KEY}

with open(FILE_PATH, 'rb') as file:
    files = {'file': (FILE_PATH, file)}
    response = requests.post(URL, headers=headers, files=files)

if response.status_code == 200:
    print(response.json())
else:
    print(f'Error: {response.status_code}')

Tabel Komparasi Metode Integrasi

MetodeKelebihanKekurangan
Library virustotal-pythonAbstraksi tinggi, mudah digunakanDependensi tambahan
Requests (Native)Ringan, kontrol penuhPerlu menangani header manual
VT-CLITanpa coding, langsung terminalTidak bisa diintegrasikan ke aplikasi

Langkah-Langkah Integrasi

  1. Registrasi API: Daftar di virustotal.com dan akses bagian API Key di profil Anda.
  2. Instalasi Pustaka: Jalankan pip install requests di terminal Anda.
  3. Eksekusi Skrip: Pastikan file yang dianalisis dapat diakses oleh skrip Python.
  4. Parsing JSON: Gunakan metode response.json() untuk mengambil data deteksi dari berbagai vendor antivirus.

Tips Troubleshooting

  • Rate Limiting: Akun gratis dibatasi pada 4 request per menit. Gunakan time.sleep() jika melakukan pemindaian massal.
  • Error 403: Pastikan API Key Anda aktif dan tidak kedaluwarsa.
  • Ukuran File: API memiliki batas ukuran file (biasanya 32MB untuk akun publik). Gunakan hash (MD5/SHA256) untuk mengecek file besar yang sudah pernah dipindai sebelumnya.