Skip to content

whoosh09/Veritas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ VERITAS — File Integrity Checker

VERITAS is a lightweight and stylish File Integrity Monitoring (FIM) tool that helps you detect unauthorized file changes using SHA-256 hashing.

Python License Type Hashing CLI Status

banner

Features

  • SHA-256 Cryptographic Hashing
    Generates secure file fingerprints to detect unauthorized modifications.

  • Baseline Initialization
    Create an initial integrity snapshot for a single file or an entire directory.

  • Integrity Change Detection
    Identifies important file state changes, including:

    • Unmodified files
    • Modified files
    • Missing or deleted files
  • Baseline Updating
    Allows intentional changes to be synchronized safely into the stored baseline.

  • JSON-Based Storage
    Hash records are stored locally in a simple and readable file_hashes.json database.

  • Clean CLI Reporting
    Provides structured, color-coded terminal output for quick visibility.

  • Recursive Directory Scanning
    Automatically monitors all files inside nested subdirectories.

Preview

[ INFO ] Checking integrity...
[ OK ] Unmodified: ./src/app.py
[ ALERT ] Modified: ./config/settings.json
[ ERROR ] MISSING: ./logs/data.log

How It Works

VERITAS operates in 3 main phases:

1. Initialize Baseline (init)

Creates a trusted “truth database” of file hashes.

2. Integrity Scan (check)

Recomputes hashes and compares them against the baseline.

3. Update Baseline (update)

Synchronizes hashes after legitimate edits.

All hashes are stored in:

file_hashes.json

Installation

Clone the project:

git clone https://github.com/yourusername/veritas.git
cd veritas

Make sure you have Python 3 installed:

python3 --version

Usage

Run the script with:

python3 veritas.py <command> [path]

Commands

Command Description
init Create baseline hashes for a file or directory
check Scan monitored files and detect changes
update Update baseline hashes after intentional changes

Examples

Initialize a directory baseline

python3 veritas.py init ./src

Check file integrity

python3 veritas.py check

Update baseline for one file

python3 veritas.py update ./src/main.py

Update baseline for an entire folder

python3 veritas.py update ./src

📌 Output Summary

After every scan, VERITAS prints a report:

========================================
SCAN COMPLETED
========================================
Total Scanned: 12
✔ OK:        10
✖ Modified:   1
⚠ Missing:    1
========================================

🔗 Project URL

https://roadmap.sh/projects/file-integrity-checker

About

Lightweight Python-based CLI utility for cryptographic file integrity checking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages