All apps/VirusTotal CLI

VirusTotal CLI

virustotal-cli

A tool designed for those who love both VirusTotal and command-line interfaces.

Runs as vt|macOS, Linux, Windows|github.com

Command form

ai-draft · 3 tasks · 12 fields

Look up files, search VirusTotal Intelligence and submit files for scanning. Requires an API key (vt init). Other subcommands and flags are left out.

Opens the form; the finished command lands at your prompt, unrun
otty gui virustotal-cli

vt file

Look up files

Get information about files by hash.

Look up filesExample values, fixed in this page — nothing here reaches a terminal
Basic
Hash*
string
Output format
string
Include fields
string
TasksEach one presets the form for one job
Run
hashformatinclude
ParametersOnly these flags are editable in the form
Hash
SHA-256, SHA-1 or MD5
string · positional 0 · repeatable
Output format
Default is YAML.
string
--formatjsoncsvyaml
Include fields
Comma-separated field patterns to keep, e.g. sha256,tags.
string
--include-i
Exclude fields
string
--exclude-x

vt search

Search files

Search for files in VirusTotal Intelligence.

Search filesExample values, fixed in this page — nothing here reaches a terminal
Basic
Query*
string
Output format
string
Include fields
string
TasksEach one presets the form for one job
Run
queryformatinclude
ParametersOnly these flags are editable in the form
Query
e.g. positives:5+ type:pdf
string · positional 0
Output format
Default is YAML.
string
--formatjsoncsvyaml
Include fields
Comma-separated field patterns to keep, e.g. sha256,tags.
string
--include-i
Exclude fields
string
--exclude-x

vt scan file

Scan files

Submit files for scanning.

Scan filesExample values, fixed in this page — nothing here reaches a terminal
Basic
File*
string
Output format
string
Include fields
string
TasksEach one presets the form for one job
Run
fileformatinclude
ParametersOnly these flags are editable in the form
File
File to scan
string · positional 0 · repeatable
Output format
Default is YAML.
string
--formatjsoncsvyaml
Include fields
Comma-separated field patterns to keep, e.g. sha256,tags.
string
--include-i
Exclude fields
string
--exclude-x
SourcesEvery flag above is checked against these
readme
vt file 8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85 --format json vt search "positives:5+ type:pdf" -i sha256,last_analysis_stats.malicious,tags --format csv You can narrow down the information shown by the vt-cli tool by using the `--include` and `--exclude` command-line options (`-i` and `-x` in short form). vt scan file <yourfile>
readmemaster 2026-10-27

github.com

readme
vt file 8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85 --format json vt search "positives:5+ type:pdf" -i sha256,last_analysis_stats.malicious,tags --format csv You can narrow down the information shown by the vt-cli tool by using the `--include` and `--exclude` command-line options (`-i` and `-x` in short form). vt scan file <yourfile>
readmemaster 2026-10-27

github.com

readme
vt file 8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85 --format json vt search "positives:5+ type:pdf" -i sha256,last_analysis_stats.malicious,tags --format csv You can narrow down the information shown by the vt-cli tool by using the `--include` and `--exclude` command-line options (`-i` and `-x` in short form). vt scan file <yourfile>
readmemaster 2026-10-27

github.com

Before it fills your prompt, Otty checks the installed vt against its version. A form that does not match your version is not offered.