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.