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) ataurequests.
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
| Fitur | vt-py (Library Resmi) | Requests (Manual) |
|---|---|---|
| Autentikasi | Otomatis | Manual (Header) |
| Error Handling | Built-in | Manual |
| Kompleksitas | Rendah | Tinggi |
| Kustomisasi | Terbatas | Sangat Tinggi |
Langkah-Langkah Integrasi
- Registrasi API Key: Masuk ke akun VirusTotal, buka menu API Key di pengaturan profil.
- Instalasi Library: Jalankan
pip install vt-pydi terminal. - Struktur Request: Pastikan header
x-apikeydisertakan jika menggunakan metode manual (requests). - 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.