Panduan Integrasi Python VirusTotal API: Contoh Kode & Implementasi

Implementasi VirusTotal API dengan Python

Untuk berinteraksi dengan VirusTotal API menggunakan Python, metode paling efisien adalah menggunakan pustaka requests untuk mengirim HTTP request ke endpoint resmi VirusTotal (v3). Anda memerlukan API Key yang valid dari dashboard akun VirusTotal Anda.

Prasyarat Teknis

  • Python 3.6+ terinstal di sistem.
  • Pustaka requests (instal via pip install requests).
  • API Key aktif dari VirusTotal.

Contoh Kode: Memindai URL

Berikut adalah skrip Python untuk mengirimkan URL ke VirusTotal dan mendapatkan laporan hasil pemindaian.

import requests

API_KEY = 'YOUR_API_KEY_HERE'
URL_TO_SCAN = 'https://example.com'

headers = {
    'x-apikey': API_KEY,
    'Content-Type': 'application/x-www-form-urlencoded'
}

data = {'url': URL_TO_SCAN}

# Mengirim URL untuk dipindai
response = requests.post('https://www.virustotal.com/api/v3/urls', headers=headers, data=data)

if response.status_code == 200:
    result = response.json()
    print(f"Scan ID: {result['data']['id']}")
else:
    print(f"Error: {response.status_code} - {response.text}")

Tabel Parameter API Utama

EndpointMetodeDeskripsi
/filesPOSTMengunggah file untuk dianalisis
/urlsPOSTMengirim URL untuk dianalisis
/analyses/{id}GETMengambil hasil analisis berdasarkan ID
/files/{hash}GETMendapatkan laporan file berdasarkan hash

Langkah Troubleshooting

  1. 403 Forbidden: Pastikan API Key Anda benar dan memiliki kuota yang tersisa.
  2. 429 Too Many Requests: Anda melebihi batas rate limit (gratis biasanya 4 request/menit). Tambahkan time.sleep(15) antar request.
  3. Invalid Hash: Pastikan hash file (MD5/SHA256) yang dikirimkan diformat dengan benar.

Selalu simpan API Key dalam variabel lingkungan (environment variables) dan jangan pernah melakukan hardcode langsung di dalam skrip produksi untuk menjaga keamanan kredensial Anda.