This tool checks integrity of files in a selected directory and its subdirectories by hashing and securely storing file data. It monitors for any changes or modifications, identifying any unauthorized alterations or corruption in files. This is especially useful for critical system files, configuration files, bootloader of an operating system, or sensitive documents. If an attacker tries to modify system files or data on the device (e.g., to plant malware or backdoors), these changes would be detected during an integrity check. It's advised to run this tool from a live USB (Tails OS)
-
Checksums all files in a selected directory and its subdirectories
-
Encrypts directory hashes for storage
-
Scans for alterations in a directory using encrypted hash file
-
Catches an evil maid attack by monitoring integrity of a system's
/boot
partition -
Able to check integrity of an entire SSD for alterations
- AES-256-GCM for encryption
- SHA-512 for hashing using 1MB chunks
- Argon2id for key derivation using 1 thread, 64MB of memory and 4 iterations.
Download from releases
Run the following command:
$ go install -v github.com/Nemesis0U/IntegrityGuard@latest
Usage of IntegrityGuard:
-check
Check integrity of the selected directory
-dir string
The directory to hash and monitor for integrity
-interactive
Enable interactive mode
-password string
Encryption password for checksum storage (default "empty")
-verbose
Enable verbose output
./IntegrityGuard -dir Documents -password 123456
[========================================] 2698/2698
Hashes stored in Documents.hashes.enc
./IntegrityGuard -dir Documents -password 123456 -check
[========================================] 2698/2698
Integrity check successful. All files are verified. ✔️
./IntegrityGuard -dir Documents -password 123456 -check
[========================================] 2698/2698
Integrity check failed for: Customer_Database_Export.pdf
New file detected: test Legal/Contracts/Agreement.txt
Deleted file detected: Research/Security_Analysis/latest.doc
Integrity check failed. Some files are missing or have been modified. ❌
Distributed under the MIT License. See LICENSE
for more information.