VTScanX is a free tool that allows users to scan multiple files at once on VirusTotal. It helps bypass the API key limitations, making bulk scanning fast and easy. With a clean interface, this tool is perfect for security researchers and malware analysts looking for a simple way to get VirusTotal results quickly.
- Bulk Scanning: Effortlessly scan multiple files and directories.
- VirusTotal Integration: Fetch scan results for files based on SHA256 hash values.
- Caching: Avoid redundant API calls by storing results in a local cache.
- User Authentication: Register, log in, and manage your account with ease.
- Customizable Reports: Generate detailed reports in JSON format.
-
Get the bash install script
wget https://raw.githubusercontent.com/abhishek-kadavala/VTScanX/main/install-vtscanx-linux.sh
-
Make the script executable
chmod +x install-vtscanx-linux.sh
-
Run the script
./install-vtscanx-linux.sh
This will automatically:
- Copy the VTScanX script to
/usr/local/bin/asvtscanx - Add the necessary shebang if missing
- Make it available as a command (
vtscanx) anywhere in your terminal
Now you can use VTScanX globally:
vtscanx --register
vtscanx -f file1.exeDon’t forget to register yourself first!
-
Clone the repository:
git clone https://github.com/abhishek-kadavala/VTScanX.git cd VTScanX -
Install the required dependencies:
pip install -r requirements.txt
-
Register and get your API key:
python3 VTScanX.py --register
Follow the registration process as prompted. Once completed, you will receive an API key that starts with vtscax_.
Open the source code and locate the API_KEY variable (which is blank by default). Set its value to the API key you received:
API_KEY = "your_vtscanx_api_key_here"VTScanX provides a variety of options to customize your scanning experience.
| Argument | Description |
|---|---|
-f, --file |
Single or multiple file paths to scan (e.g., file1.exe file2.pdf or file1.exe,file2.pdf). |
-p, --path |
Directory path to scan all files inside. |
-s, --subdir |
Include subdirectories when scanning. |
-r, --report |
Save the scan report to the default file (scan_report.json). |
-o, --output |
Specify a custom path to save the report JSON file. |
-v, --verbose |
Enable verbose mode to display additional details. |
-i, --ignore-cache |
Ignore cache and fetch updated data from the server. |
--reset |
Reset password for the given email (sends OTP and prompts for new password). |
--login |
Log in with email and password to get your API key. |
--register |
Register a new account and get your API key. |
python3 VTScanX.py -f file1.exepython3 VTScanX.py -f file1.exe,file2.pdfpython3 VTScanX.py -p /path/to/directorypython3 VTScanX.py -p /path/to/directory -spython3 VTScanX.py -f file1.exe -vpython3 VTScanX.py -f file1.exe -r-
Hash Calculation:
- The tool calculates the SHA256 hash of the provided files using the
calculate_sha256function.
- The tool calculates the SHA256 hash of the provided files using the
-
Caching:
- Results are stored in a local
cache.jsonfile to reduce redundant API calls.
- Results are stored in a local
-
Server Communication:
- Hashes are sent to the server.
- The server validates the API key and processes the hashes.
-
Error Handling:
- If the API key is invalid, the server responds with a 429 status code, and the client stops further requests.
-
Reporting:
- Results are printed in a formatted table and optionally saved as a JSON report.
- Run the following command:
python3 VTScanX.py --register
- Enter your email and follow the prompts to complete registration.
- Run the following command:
python3 VTScanX.py --login
- Enter your email and password to retrieve your API key.
- Run the following command:
python3 VTScanX.py --reset
- Enter your email and reset the password
- Alternatively, you can provide the email directly:
python3 VTScanX.py --reset email_id
- Efficient Bulk Scanning: Save time by scanning multiple files simultaneously.
- Custom Reports: Get detailed insights into the scan results for analysis.
- User-Friendly: Simplified interface for both beginners and advanced users.
- Flexible Options: Customize your scans with various command-line arguments.
- API Key Dependency: Requires a valid VirusTotal API key for operation.
This project is licensed. See the LICENSE file for details.
For any queries or support, please contact the owner:
- Name: Abhishek Kadavala
- GitHub: abhishek-kadavala
- mail: abhishekkadavala11@gmail.com
- LinkedIn: Abhishek Kadavala