Skip to main content
VirusTotal provides reputation data for IP addresses, domains, and file hashes by aggregating results from 70+ antivirus engines and security services.

Supported Indicator Types

TypeVirusTotal Endpoint
ipGET /api/v3/ip_addresses/{ip}
domainGET /api/v3/domains/{domain}
hash_md5GET /api/v3/files/{hash}
hash_sha1GET /api/v3/files/{hash}
hash_sha256GET /api/v3/files/{hash}

Configuration

Set your VirusTotal API key in the .env file:
VIRUSTOTAL_API_KEY=your-virustotal-api-key
VirusTotal offers free API keys with a rate limit of 4 requests/minute. Premium keys have higher limits. Calseta respects rate limits and caches results to minimize API calls.

Extracted Fields

These fields are extracted from VirusTotal responses and surfaced to agents in the extracted object:

IP Addresses

FieldDescription
malicious_countNumber of engines flagging as malicious
suspicious_countNumber of engines flagging as suspicious
harmless_countNumber of engines flagging as harmless
countryCountry code
as_ownerAutonomous system owner
networkNetwork CIDR

Domains

FieldDescription
malicious_countNumber of engines flagging as malicious
suspicious_countNumber of engines flagging as suspicious
categoriesDomain categories from various services
registrarDomain registrar
creation_dateDomain registration date

File Hashes

FieldDescription
malicious_countNumber of engines detecting the file
suspicious_countNumber of engines flagging as suspicious
type_descriptionFile type description
file_sizeFile size in bytes
first_submission_dateWhen the file was first submitted
popular_threat_nameMost common detection name

Malice Rules

Default verdict thresholds:
ConditionVerdict
malicious_count >= 5Malicious
malicious_count >= 1 or suspicious_count >= 3Suspicious
Enrichment successful, no detectionsBenign
These thresholds are configurable via the enrichment provider’s malice_rules field.

Cache TTLs

Indicator TypeDefault TTL
IP1 hour
Domain6 hours
Hash (all types)24 hours

Rate Limits

VirusTotal enforces strict rate limits:
PlanRequests/Minute
Free4
PremiumVaries by plan
Calseta’s caching significantly reduces API calls — the same indicator across multiple alerts is only enriched once within the cache TTL.