vigilant-scanner


Namevigilant-scanner JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA CLI tool for monitoring file integrity, detecting changes, analyzing logs and identifying potential security threats.
upload_time2025-01-26 19:30:10
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords change-detection directory-scanning file-integrity infosec malware-detection monitoring scanning security
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
pip install vigilant-scanner
```

---

## 📋 Usage

1. **Initialize Snapshot**
   Create a snapshot of the current directory state and store metadata in the database:
   ```bash
   vgls integrity-init <directory>
   ```
   ![Alt Text](docs/media/init.gif)

2. **Scan and Compare**
   Scan the directory and compare results with the last snapshot:
   ```bash
   vgls integrity-scan <directory>
   ```
   ![Alt Text](docs/media/scan.gif)

3. **Update the Database**
   Update the database with the current state of the directory:
   ```bash
   vgls update <directory>
   ```
![Alt Text](docs/media/update.gif)

4. **Log analysis**
   Analyse all logs (all files with .log extension) in provided directory on matching with malicious patterns.
   ```shell
   vgls log-scan <directory>
   ```
   **Work is still in progress.** Mostly working on malicious signature collection that will be used here.
![Alt Text](docs/media/logger.png)
   

---

## ⚙️ How It Works

```bash
# 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:
   ```bash
   git clone https://github.com/ivpel/vigilant-scanner.git
   ```

2. Navigate to the project directory:
   ```bash
   cd vigilant-scanner
   ```

3. Install dependencies:
   ```bash
   pip install -r requirements.txt
   ```

4. Run tests:
   ```bash
   pytest
   ```

---

## 📜 License

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

---

## 💬 Support

If you encounter any issues, feel free to open a ticket on the [GitHub Bug Tracker](https://github.com/ivpel/vigilant-scanner/issues).

---

## 🔗 Links

- **Homepage**: [Vigilant Scanner on GitHub](https://github.com/ivpel/vigilant-scanner)
- **Bug Tracker**: [Report Issues](https://github.com/ivpel/vigilant-scanner/issues)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vigilant-scanner",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "change-detection, directory-scanning, file-integrity, infosec, malware-detection, monitoring, scanning, security",
    "author": null,
    "author_email": "Pelykh Ivan <ivan.pelykh@protonmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2a/29/765e49422a7f2631275fcbb1850d20bf9b3177f02f68cd4e0544ba3db383/vigilant_scanner-1.0.0.tar.gz",
    "platform": null,
    "description": "# VGLS/Vigilant Scanner\n\n**vgls** is a Python-based CLI tool for monitoring file integrity, detecting changes, analyzing logs and identifying \npotential security threats. \n\n---\n\n## \ud83d\ude80 Features\n\n- **System Integrity Monitoring**: Detect changes in file content, metadata, and structure. Monitor \ndirectories for unauthorized or suspicious changes (permissions, owner, etc).\n- **Log Analysis** *(In Progress)*: Analyze logs for security threats and anomalies.\n\n---\n\n## \ud83d\udee0 Installation\n\n```bash\npip install vigilant-scanner\n```\n\n---\n\n## \ud83d\udccb Usage\n\n1. **Initialize Snapshot**\n   Create a snapshot of the current directory state and store metadata in the database:\n   ```bash\n   vgls integrity-init <directory>\n   ```\n   ![Alt Text](docs/media/init.gif)\n\n2. **Scan and Compare**\n   Scan the directory and compare results with the last snapshot:\n   ```bash\n   vgls integrity-scan <directory>\n   ```\n   ![Alt Text](docs/media/scan.gif)\n\n3. **Update the Database**\n   Update the database with the current state of the directory:\n   ```bash\n   vgls update <directory>\n   ```\n![Alt Text](docs/media/update.gif)\n\n4. **Log analysis**\n   Analyse all logs (all files with .log extension) in provided directory on matching with malicious patterns.\n   ```shell\n   vgls log-scan <directory>\n   ```\n   **Work is still in progress.** Mostly working on malicious signature collection that will be used here.\n![Alt Text](docs/media/logger.png)\n   \n\n---\n\n## \u2699\ufe0f How It Works\n\n```bash\n# Create database with the current state of a target directory\nvgls integrity-init /var/www\n\n# Perform a scan to detect changes\nvgls integrity-scan /var/www\n\n# Update the database after legitimate changes are made (deploy was conducted etc.)\nvgls integrity-update /var/www\n```\n\n1. **Initialization (`init`)**\n   - Scans a directory and stores metadata (file path, hash, size, permissions, etc.) in a SQLite database.\n\n2. **Scanning and Comparison (`scan`)**\n   - Scans the directory again and compares the current state with the stored metadata.\n   - Outputs new, modified, and deleted files.\n\n3. **Updating the Database (`update`)**\n   - Updates the database to reflect the latest directory state.\n   - Inserts new files, updates modified files, and removes deleted files.\n\n---\n\n## \ud83d\udccb Requirements\n\n- Python 3.10+\n\n---\n\n## \ud83d\udee0 Development\n\nTo contribute or run the tool locally:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/ivpel/vigilant-scanner.git\n   ```\n\n2. Navigate to the project directory:\n   ```bash\n   cd vigilant-scanner\n   ```\n\n3. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Run tests:\n   ```bash\n   pytest\n   ```\n\n---\n\n## \ud83d\udcdc License\n\nThis project is licensed under the GNU General Public License v3 or later (GPLv3+). See the [LICENSE](LICENSE) file for details.\n\n---\n\n## \ud83d\udcac Support\n\nIf you encounter any issues, feel free to open a ticket on the [GitHub Bug Tracker](https://github.com/ivpel/vigilant-scanner/issues).\n\n---\n\n## \ud83d\udd17 Links\n\n- **Homepage**: [Vigilant Scanner on GitHub](https://github.com/ivpel/vigilant-scanner)\n- **Bug Tracker**: [Report Issues](https://github.com/ivpel/vigilant-scanner/issues)\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI tool for monitoring file integrity, detecting changes, analyzing logs and identifying potential security threats.",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/ivpel/vigilant-scanner/issues",
        "Homepage": "https://github.com/ivpel/vigilant-scanner"
    },
    "split_keywords": [
        "change-detection",
        " directory-scanning",
        " file-integrity",
        " infosec",
        " malware-detection",
        " monitoring",
        " scanning",
        " security"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4d8443d9908a5d4b3b80785c94a7116853424d880dc2eb1033d18126d45e23c",
                "md5": "84ca01324ef084b7066a3f4ba6575767",
                "sha256": "4020e8e101ec7b416edf694be165c41d2ed21516360ec88d01aab01b5c1b9e8a"
            },
            "downloads": -1,
            "filename": "vigilant_scanner-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "84ca01324ef084b7066a3f4ba6575767",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 22238,
            "upload_time": "2025-01-26T19:30:07",
            "upload_time_iso_8601": "2025-01-26T19:30:07.298950Z",
            "url": "https://files.pythonhosted.org/packages/f4/d8/443d9908a5d4b3b80785c94a7116853424d880dc2eb1033d18126d45e23c/vigilant_scanner-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2a29765e49422a7f2631275fcbb1850d20bf9b3177f02f68cd4e0544ba3db383",
                "md5": "8af5d816fdc5de7c25cb0a1be6516349",
                "sha256": "b22f12e4acf0eb5645d46a41fcec8ae10beecae3cc0230d809e6576efe00c3c0"
            },
            "downloads": -1,
            "filename": "vigilant_scanner-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8af5d816fdc5de7c25cb0a1be6516349",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 401401,
            "upload_time": "2025-01-26T19:30:10",
            "upload_time_iso_8601": "2025-01-26T19:30:10.428379Z",
            "url": "https://files.pythonhosted.org/packages/2a/29/765e49422a7f2631275fcbb1850d20bf9b3177f02f68cd4e0544ba3db383/vigilant_scanner-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-26 19:30:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ivpel",
    "github_project": "vigilant-scanner",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "vigilant-scanner"
}
        
Elapsed time: 0.41333s