Skip to content

nicoleman0/VTScan

Repository files navigation

🛡️ VTScan: VirusTotal URL Scanner

VTScan is a command-line tool for scanning URLs using the VirusTotal API and generating reports.

Features

  • 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.

🛠 Prerequisites

  • 🐍 Python 3.7+
  • VirusTotal API Key (available for free from VirusTotal)
  • Python packages: typer, typing_extensions, vt, pandas, jinja2

Installation

  1. Clone the repository or download the files.

  2. Navigate to the project directory.

  3. Install the required dependencies:

    pip install typer typing_extensions vt pandas jinja2

Usage

Run the tool using the following command:

python3 main.py <url1> <url2> ... [options]

To see the available options, run:

python3 main.py --help

Contributions

Contributions 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 plotly or matplotlib.

  • 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.py and 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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

VirusTotal API URL Scanner

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published