Panduan Integrasi VirusTotal API dengan Python (vt-py)

Pustaka Resmi VirusTotal untuk Python: vt-py

Pustaka resmi yang dikelola oleh tim VirusTotal untuk berinteraksi dengan API v3 mereka adalah vt-py. Pustaka ini tersedia di repositori GitHub resmi VirusTotal dan merupakan standar industri untuk melakukan otomatisasi pemindaian file, URL, domain, dan alamat IP melalui skrip Python.

Instalasi Pustaka

Pastikan Anda menggunakan Python 3.6 atau lebih baru. Instalasi dilakukan melalui manajer paket pip:

pip install vt-py

Contoh Penggunaan Dasar

Untuk memulai, Anda memerlukan API Key yang bisa didapatkan melalui profil akun VirusTotal Anda. Berikut adalah contoh skrip untuk memeriksa laporan sebuah file berdasarkan hash (SHA-256):

import vt

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

# Mengambil laporan file berdasarkan hash
file_id = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
file_report = client.get_object(f"/files/{file_id}")

print(f"Skor deteksi: {file_report.last_analysis_stats['malicious']}")

client.close()

Tabel Perbandingan Metode API

Fiturvt-py (Library)Raw Requests (Manual)
AutentikasiOtomatis (Header)Manual (Header)
Rate LimitingBuilt-in handlingHarus buat sendiri
KemudahanTinggi (Objek)Rendah (JSON parsing)
PemeliharaanDikelola VirusTotalTanggung jawab user

Langkah-Langkah Integrasi

  1. Registrasi API Key: Masuk ke akun VirusTotal, buka bagian API Key di pengaturan profil.
  2. Instalasi: Jalankan pip install vt-py di terminal atau command prompt.
  3. Autentikasi: Gunakan vt.Client(api_key) untuk memulai sesi.
  4. Eksekusi: Gunakan metode client.get_object, client.post, atau client.patch sesuai kebutuhan endpoint API v3.
  5. Penanganan Error: Selalu gunakan blok try-except untuk menangkap vt.APIError guna menangani limit API atau masalah koneksi.

Tips Troubleshooting

  • Rate Limit: Jika mendapatkan error 429, artinya Anda melebihi kuota request per menit. Gunakan time.sleep() atau implementasikan antrean (queue).
  • Keamanan: Jangan pernah melakukan hardcode API Key di dalam file skrip yang akan diunggah ke GitHub publik. Gunakan environment variables (os.environ.get('VT_API_KEY')).
  • Dokumentasi Resmi: Selalu rujuk ke github.com/VirusTotal/vt-py untuk pembaruan fitur terbaru.