repomatic scan-virustotal - Upload release binaries to
VirusTotal
repomatic scan-virustotal [OPTIONS]
Upload release binaries to VirusTotal.
Scans all .bin and .exe files in the given directory and uploads
them to VirusTotal, seeding antivirus vendor databases with the signatures
of the freshly built binaries.
With --download, first fetches the tag's versioned binaries from
its GitHub release into the directory, waiting for a freshly published
release to list its assets.
With --poll, waits for the analyses to complete and reports each
binary's flagged / total verdict counts. With --records, the polled
snapshots are merged into a CSV history, which sync-binaries renders into
the binaries catalog page.
- --tag
TEXT
- Release tag the binaries belong to (e.g., v1.2.3).
[required]
- --api-key
TEXT
- VirusTotal API key.
[required]
- --binaries-dir
DIRECTORY
- Directory containing binary files to upload.
[required]
- --download /
--no-download
- Download the tag's versioned binaries from its GitHub release into
--binaries-dir first, waiting for the release to list its assets.
- --repo
TEXT
- Repository in owner/repo format that --download reads the release
from.
- --rate-limit INTEGER
RANGE
- Maximum VirusTotal API requests per minute.
- --poll /
--no-poll
- Poll for detection statistics after uploading.
- --poll-timeout
INTEGER RANGE
- Maximum seconds to wait for analysis completion when polling.
- --records
FILE
- CSV scan history to record detection snapshots in (requires --poll).
- --carry-from
BRANCH
- Restore --records from this remote branch before scanning, so snapshots
still pending in an open pull request are appended to instead of dropped.
Name the branch the job publishes to. Ignored when the branch does not
exist, which is every run that follows a merge.
- --help /
-h
- Show this message and exit.
- 0
- Success.
- 1
- A runtime error, an aborted prompt (Ctrl-D), or a declined
confirmation.
- 2
- A usage error: unknown option, invalid value, missing operand, or an
unparsable configuration file.
- 130
- Interrupted with Ctrl-C: the process ends by SIGINT, reported as 130.
Scan the binaries attached to a tag
repomatic scan\-virustotal \-\-tag v1.2.3 \-\-binaries\-dir ./binaries
Wait for verdicts and record them
repomatic scan\-virustotal \-\-tag v1.2.3 \-\-binaries\-dir ./binaries \-\-poll \-\-records docs/assets/virustotal\-scans.csv
Download the release's binaries first
repomatic scan\-virustotal \-\-tag v1.2.3 \-\-download \-\-repo owner/repo \-\-binaries\-dir ./binaries