Skip to main content

Privacy-first VirusTotal hash lookup CLI

Project description

jwvtscore

jwvtscore is a privacy-first CLI for checking whether VirusTotal already knows a file by its SHA-256 hash.

Goals

  • compute the hash locally
  • query VirusTotal with the hash only
  • never upload file contents
  • keep the CLI output concise and readable

Installation

Install the CLI in an isolated tool environment:

uv tool install jwvtscore

You can also install it with pipx:

pipx install jwvtscore

Configuration

jwvtscore requires a VirusTotal API key. Set it with the VIRUSTOTAL_API_KEY environment variable before running the command:

export VIRUSTOTAL_API_KEY="your-api-key"

The CLI only sends SHA-256 hashes to VirusTotal lookup endpoints. It does not upload file contents.

Usage

Check one or more regular files:

jwvtscore /path/to/file
jwvtscore /path/to/file another-file.bin

Example output:

/path/to/file
  sha256:   b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
  verdict:  malicious
  stats:    harmless=1 suspicious=2 malicious=3 undetected=4
  link:     https://www.virustotal.com/gui/file/b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Development

uv sync
uv run pytest
uv run jwvtscore /path/to/file
uv tool install .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jwvtscore-0.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jwvtscore-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file jwvtscore-0.1.0.tar.gz.

File metadata

  • Download URL: jwvtscore-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for jwvtscore-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d50dbb3f297251141bd49fe46e02bc3e9d71d604dbce544f5bb54c2d26af06c
MD5 992f7c4e368b8a5fa2696806e26d6c45
BLAKE2b-256 a2124db390ed8319aed84233cf93427f83a9b2633489672b2571ff02a87619ee

See more details on using hashes here.

File details

Details for the file jwvtscore-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jwvtscore-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for jwvtscore-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6521f5ea46e73df5122b1fd192470f8f3cd93c4273d5de726dfa6f13b8d1218e
MD5 7ced62f70e118ae1ee0aec73a0e531ab
BLAKE2b-256 289e99f6b5c476003a5c33fdbe7f9520f788963de09c657cce6b4d14254f6d23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page