Cybersecurity · Threat Intelligence · API Integration

VirusTotal Threat
Intelligence Scanner

A proof-of-concept scanner that submits IP addresses and files to the VirusTotal API and displays the aggregated detection result from 70+ independent security vendors — directly on this page, with no redirect.

API: VirusTotal v3
Backend: FastAPI proxy
Storage: None (stateless)
Rate limiting: Per-IP, in-memory
About VirusTotal

🎯 About This Project

This proof-of-concept demonstrates how security applications integrate with threat-intelligence services to analyse potentially suspicious indicators. Submit an IP address or a file below and the result — aggregated from dozens of independent antivirus and security vendors via VirusTotal — is shown directly on this page.

  • VirusTotal aggregates detections from 70+ independent antivirus and security vendors.
  • This application is stateless — nothing submitted here is stored by this portfolio.
  • The VirusTotal API key is kept server-side and never reaches the browser.
  • Requests are rate limited, since this demo runs on a free-tier API quota.

🌐 Analyse an IP Address

Enter an IPv4 or IPv6 address to check its reputation.

📁 File Analysis

Upload a file to check it against VirusTotal's vendor engines.

⚠️ Important: Do not upload confidential, personal, proprietary, or sensitive files. Files submitted here are sent to VirusTotal and may be shared with its security partners under VirusTotal's own policies.

🔐 Security & Implementation

API Key Protection

The VirusTotal API key lives only in a server-side environment variable and is never sent to the browser or returned in any API response.

Rate Limiting

Each visitor is limited to a small number of requests per rolling window, with a short cooldown between submissions, to protect the shared free-tier VirusTotal quota.

Stateless Design

No database. Submitted indicators, files, and VirusTotal responses exist only for the duration of the request and are never persisted.

Input Validation & File Safety

IP addresses are validated before being sent to VirusTotal. Uploaded files are size-checked and never executed, opened, or interpreted by this application — they are only forwarded as bytes to VirusTotal.

0
Records Stored
8s
Cooldown / Request
8
Max Requests / 15min
70+
Vendor Engines