Panduan Integrasi VirusTotal API v3 dengan Python

Implementasi VirusTotal API v3 dengan Python

VirusTotal API v3 adalah antarmuka berbasis REST yang memungkinkan pengembang untuk mengirimkan file, URL, atau domain guna mendapatkan laporan analisis keamanan dari berbagai mesin antivirus. Untuk berinteraksi dengan API ini menggunakan Python, metode paling efisien adalah menggunakan pustaka requests untuk menangani HTTP request atau pustaka resmi vt-py yang disediakan oleh VirusTotal.

Prasyarat Teknis

  • Python 3.6 atau lebih baru.
  • API Key yang valid (diperoleh dari profil akun VirusTotal).
  • Pustaka vt-py (disarankan) atau requests.

Contoh Kode Menggunakan vt-py

Pustaka vt-py adalah pembungkus resmi yang menyederhanakan autentikasi dan penanganan error. Instalasi dapat dilakukan melalui pip install vt-py.

import vt

# Inisialisasi client dengan API Key
client = vt.Client("YOUR_API_KEY_HERE")

# Contoh: Mendapatkan laporan file berdasarkan hash (SHA-256)
file_hash = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
file = client.get_object(f"/files/{file_hash}")

print(f"Deteksi positif: {file.last_analysis_stats['malicious']}")
client.close()

Tabel Perbandingan Metode Akses

Fiturvt-py (Library Resmi)Requests (Manual)
AutentikasiOtomatisManual (Header)
Error HandlingBuilt-inManual
KompleksitasRendahTinggi
KustomisasiTerbatasSangat Tinggi

Langkah-Langkah Integrasi

  1. Registrasi API Key: Masuk ke akun VirusTotal, buka menu API Key di pengaturan profil.
  2. Instalasi Library: Jalankan pip install vt-py di terminal.
  3. Struktur Request: Pastikan header x-apikey disertakan jika menggunakan metode manual (requests).
  4. Rate Limiting: Perhatikan batasan kuota API (Public API dibatasi 4 request per menit).

Tips Troubleshooting

Jika Anda menerima error 403, pastikan API Key sudah benar dan aktif. Jika menerima error 429, artinya Anda telah melampaui batas kuota request per menit. Gunakan mekanisme time.sleep() atau implementasikan antrean (queue) untuk menjaga stabilitas koneksi.