Tutorial Python VirusTotal API: Integrasi & Analisis Malware

Integrasi VirusTotal API dengan Python

Untuk berinteraksi dengan VirusTotal API menggunakan Python, Anda memerlukan API Key yang valid dari akun VirusTotal Anda. Metode paling efisien adalah menggunakan library requests untuk mengirim HTTP request ke endpoint v3 VirusTotal. Pastikan Anda mematuhi batasan rate limit sesuai dengan tier API yang Anda miliki.

Prasyarat Teknis

  • Python 3.x terinstal.
  • Library requests (install via pip install requests).
  • API Key dari virustotal.com.

Contoh Kode: Cek Hash File

Berikut adalah skrip dasar untuk melakukan query terhadap file hash (SHA-256) untuk mendapatkan laporan pemindaian.

import requests

def get_file_report(file_hash, api_key):
    url = f"https://www.virustotal.com/api/v3/files/{file_hash}"
    headers = {
        "x-apikey": api_key
    }
    response = requests.get(url, headers=headers)
    return response.json()

# Penggunaan
API_KEY = "YOUR_API_KEY_HERE"
FILE_HASH = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"

report = get_file_report(FILE_HASH, API_KEY)
print(report)

Tabel Parameter API v3

EndpointMetodeDeskripsi
/files/{id}GETMendapatkan laporan analisis file
/urlsPOSTMengirim URL untuk dianalisis
/domains/{domain}GETMendapatkan reputasi domain
/ip_addresses/{ip}GETMendapatkan data reputasi IP

Tips Troubleshooting

  1. Error 403: Pastikan API Key Anda benar dan memiliki izin akses ke endpoint tersebut.
  2. Error 429: Anda melebihi kuota request per menit. Tambahkan time.sleep() pada loop Anda.
  3. Data Kosong: Jika hash tidak ditemukan, API akan mengembalikan 404. Selalu gunakan blok try-except atau cek status code sebelum memproses data.

Untuk penggunaan skala besar, disarankan menggunakan library resmi vt-py yang dikelola oleh tim VirusTotal untuk menangani autentikasi dan retry logic secara otomatis.