Skip to main content

VGLS/Vigilant Scanner

vgls is a Python-based CLI tool for monitoring file integrity, detecting changes, analyzing logs and identifying potential security threats.


🚀 Features

  • System Integrity Monitoring: Detect changes in file content, metadata, and structure. Monitor directories for unauthorized or suspicious changes (permissions, owner, etc).
  • Log Analysis (In Progress): Analyze logs for security threats and anomalies.

🛠 Installation

pip install vigilant-scanner

📋 Usage

  1. Initialize Snapshot Create a snapshot of the current directory state and store metadata in the database:

    vgls integrity-init <directory>
    

    Alt Text

  2. Scan and Compare Scan the directory and compare results with the last snapshot:

    vgls integrity-scan <directory>
    

    Alt Text

  3. Update the Database Update the database with the current state of the directory:

    vgls integrity-update <directory>
    

Alt Text

  1. Log analysis Analyse all logs (all files with .log extension) in provided directory on matching with malicious patterns.
    vgls log-scan <directory>
    
    Work is still in progress. Mostly working on malicious signature collection that will be used here. Alt Text

⚙️ How It Works

# Create database with the current state of a target directory
vgls integrity-init /var/www

# Perform a scan to detect changes
vgls integrity-scan /var/www

# Update the database after legitimate changes are made (deploy was conducted etc.)
vgls integrity-update /var/www
  1. Initialization (init)

    • Scans a directory and stores metadata (file path, hash, size, permissions, etc.) in a SQLite database.
  2. Scanning and Comparison (scan)

    • Scans the directory again and compares the current state with the stored metadata.
    • Outputs new, modified, and deleted files.
  3. Updating the Database (update)

    • Updates the database to reflect the latest directory state.
    • Inserts new files, updates modified files, and removes deleted files.

📋 Requirements

  • Python 3.10+

🛠 Development

To contribute or run the tool locally:

  1. Clone the repository:

    git clone https://github.com/ivpel/vigilant-scanner.git
    
  2. Navigate to the project directory:

    cd vigilant-scanner
    
  3. Install dependencies:

    pip install .
    # for development
    pip install -e ".[dev]"
    
  4. Run tests:

    pytest
    

📜 License

This project is licensed under the GNU General Public License v3 or later (GPLv3+). See the LICENSE file for details.


💬 Support

If you encounter any issues, feel free to open a ticket on the GitHub Bug Tracker.


🔗 Links

Metadata

Release files for vigilant-scanner 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vigilant-scanner 1.0.3
File Size Uploaded
vigilant_scanner-1.0.3.tar.gz 403.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vigilant-scanner 1.0.3
File Interpreter ABI Platform
vigilant_scanner-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 428.3 kB

Release files / vigilant_scanner-1.0.3.tar.gz

Download URL vigilant_scanner-1.0.3.tar.gz
Size 403.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7b30295b244e08d9138efcde1b16de6dbce68408f16f7adabba1550e46d39e1d
BLAKE2b-256 checksum
How to use checksums
77001ff6e247572ab037106ca645498a843ec35d0d985df431ddacb05847a61a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / vigilant_scanner-1.0.3-py3-none-any.whl

Download URL vigilant_scanner-1.0.3-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d9753319a2293385cf49b7994578da915c295e4345bf272028e480858d31160
BLAKE2b-256 checksum
How to use checksums
22ecbf0cd5674f32418db768d3772e5093712f14e08a843cbd1be4be796f9de2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page