Type to search.

VirusTotal connector

Serverless Preview

Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud.

Availability

  • Preview

    This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply.

Serverless interfaces and procedures might differ from classic Elastic Stack deployments.

Stack Preview 9.4+

The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.

Availability

  • Preview since 9.4

    This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply.

Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

The VirusTotal connector communicates with the VirusTotal API for file scanning, URL and domain analysis, result retrieval, and threat intelligence lookups.

You can use this connector in Agent Builder and Workflows.

You can create connectors in Stack Management > Connectors. For example:

VirusTotal connectors have the following configuration properties:

API Key
The VirusTotal API key for authentication.

You can test connectors as you're creating or editing the connector in Kibana.

The VirusTotal connector has the following actions:

Scan File Hash

Look up a file hash (MD5, SHA-1, or SHA-256) to get scan results.

  • Hash (required): File hash (minimum 32 characters).
Scan URL

Submit a URL for analysis and get scan results, or look up a bare domain report.

  • URL (required): Absolute URL to scan, or bare domain to look up. For example, https://example.com/path or example.com.
Get analysis results

Retrieve VirusTotal analysis results or reports without using a generic HTTP connector.

  • ID (required): VirusTotal analysis ID, URL, domain, IP address, or file hash.
  • Resource type (optional): One of analysis, url, domain, ip, or file. Defaults to analysis.
Submit File

Submit a file for analysis.

  • File (required): Base64-encoded file content.
  • Filename (optional): Original filename.
Get IP Report

Get reputation and details about an IP address.

  • IP (required): IPv4 address. For example, 8.8.8.8.

    Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud. Availability Preview This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply. Serverless interfaces and procedures might differ from classic Elastic Stack deployments. The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability Preview since 9.5 This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes. You can also use an IPv6 address. For example, 2001:4860:4860::8888.

Submit a URL, wait for analysis to complete, and retrieve the analysis results:

YAML
steps:
  - name: scan_url
    type: virustotal.scanUrl
    connector-id: <connector-id>
    with:
      url: https://suspicious.example.com

  - name: wait_for_analysis
    type: wait
    with:
      duration: 30s

  - name: get_analysis_results
    type: virustotal.getAnalysisResults
    connector-id: <connector-id>
    with:
      id: '{{ steps.scan_url.output.id }}'

Look up a bare domain without adding API keys or VirusTotal URLs to the workflow:

YAML
steps:
  - name: scan_domain
    type: virustotal.scanUrl
    connector-id: <connector-id>
    with:
      url: acme.example

  - name: get_domain_results
    type: virustotal.getAnalysisResults
    connector-id: <connector-id>
    with:
      id: acme.example
      resourceType: domain

Use the Action configuration settings to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use xpack.actions.customHostSettings to set per-host configurations.

To use the VirusTotal connector, you need an API key:

  1. Go to VirusTotal.
  2. Sign up for an account or log in.
  3. Navigate to your API Key page.
  4. Copy your API key. For free accounts, you'll have rate limits. Consider upgrading to a premium account for higher limits.
  5. Copy the API key to configure the connector.