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
-
Initialize Snapshot Create a snapshot of the current directory state and store metadata in the database:
vgls integrity-init <directory>
-
Scan and Compare Scan the directory and compare results with the last snapshot:
vgls integrity-scan <directory>
-
Update the Database Update the database with the current state of the directory:
vgls integrity-update <directory>
- 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.
⚙️ 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
-
Initialization (
init)- Scans a directory and stores metadata (file path, hash, size, permissions, etc.) in a SQLite database.
-
Scanning and Comparison (
scan)- Scans the directory again and compares the current state with the stored metadata.
- Outputs new, modified, and deleted files.
-
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:
-
Clone the repository:
git clone https://github.com/ivpel/vigilant-scanner.git
-
Navigate to the project directory:
cd vigilant-scanner
-
Install dependencies:
pip install . # for development pip install -e ".[dev]"
-
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
- Homepage: Vigilant Scanner on GitHub
- Bug Tracker: Report Issues
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)
| File | Size | Uploaded | |
|---|---|---|---|
| vigilant_scanner-1.0.3.tar.gz | 403.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|