VTScan is a command-line tool for scanning URLs using the VirusTotal API and generating reports.
- Scan multiple URLs against VirusTotal.
- Provide your API key as an option or when prompted.
- Generate results as an Excel file (
results.xlsx) and an HTML report (report.html). - Clear progress updates and error handling.
- 🐍 Python 3.7+
- VirusTotal API Key (available for free from VirusTotal)
- Python packages:
typer,typing_extensions,vt,pandas,jinja2
Clone the repository or download the files.
Navigate to the project directory.
Install the required dependencies:
pip install typer typing_extensions vt pandas jinja2
Run the tool using the following command:
python3 main.py <url1><url2> ... [options]To see the available options, run:
python3 main.py --helpContributions are welcome! Here are some suggestions:
Add support for reading URLs from input files (
.txt,.csv), or via stdin.Add additional output formats: e.g., JSON, CSV, or a Markdown summary for GitHub Actions.
Improve the HTML template: add charts (e.g., bar chart of verdict counts) using libraries like
plotlyormatplotlib.Add multi‐threading or asynchronous calls for faster scanning of large lists (while still respecting rate limits).
Add integration with a SIEM or Slack notification when malicious URLs are found.
Write additional tests for
scan.py,generate.pyand improve error-handling coverage.
If you submit a pull request:
Fork the repository, create a feature branch, write unit tests when applicable.
Ensure compatibility with Python 3.7+ and include any new dependencies in
requirements.txt.
This project is licensed under the MIT License. See the LICENSE file for details.