{"id":20985966,"url":"https://github.com/umutcamliyurt/integrityguard","last_synced_at":"2025-05-14T17:32:26.678Z","repository":{"id":211470982,"uuid":"709049906","full_name":"umutcamliyurt/IntegrityGuard","owner":"umutcamliyurt","description":"A very secure tool for monitoring integrity of important files","archived":false,"fork":false,"pushed_at":"2024-01-18T12:17:54.000Z","size":23,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T21:37:13.408Z","etag":null,"topics":["aes-256-gcm","anti-evil-maid","argon2","cryptography","golang","infosec","integrity-monitoring","portable","privacy","privacy-tools","security","security-tools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umutcamliyurt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-23T22:59:09.000Z","updated_at":"2024-10-05T21:52:30.000Z","dependencies_parsed_at":"2023-12-08T19:33:11.404Z","dependency_job_id":"cf916553-3754-4ab8-8fb8-f97d59e8d377","html_url":"https://github.com/umutcamliyurt/IntegrityGuard","commit_stats":null,"previous_names":["n-e-m-e-s-1-s/integrityguard","umutcamliyurt/integrityguard","nemesis0u/integrityguard"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umutcamliyurt%2FIntegrityGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umutcamliyurt%2FIntegrityGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umutcamliyurt%2FIntegrityGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umutcamliyurt%2FIntegrityGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umutcamliyurt","download_url":"https://codeload.github.com/umutcamliyurt/IntegrityGuard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254194971,"owners_count":22030445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-256-gcm","anti-evil-maid","argon2","cryptography","golang","infosec","integrity-monitoring","portable","privacy","privacy-tools","security","security-tools"],"created_at":"2024-11-19T06:11:46.593Z","updated_at":"2025-05-14T17:32:26.412Z","avatar_url":"https://github.com/umutcamliyurt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IntegrityGuard\n\n\u003cimg src=\"background.png\" width=\"1200\"\u003e\n\n## A very secure tool for monitoring integrity of important files\n\n\u003c!-- DESCRIPTION --\u003e\n## Description:\n\nThis 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](https://tails.net))\n\n\u003c!-- FEATURES --\u003e\n## Features:\n\n- Checksums all files in a selected directory and its subdirectories\n\n- Encrypts directory hashes for storage\n\n- Scans for alterations in a directory using encrypted hash file\n\n- Catches an [evil maid attack](https://www.kicksecure.com/wiki/AEM#Introduction) by monitoring integrity of a system's ``` /boot ``` partition\n\n\n- Able to check integrity of an entire SSD for alterations\n\n## Technical details:\n\n- AES-256-GCM for encryption\n- SHA-512 for hashing using 1MB chunks\n- Argon2id for key derivation using 1 thread, 64MB of memory and 4 iterations.\n\n\u003c!-- INSTALLATION --\u003e\n## Installation:\n\n### Option 1:\n\n[Download](https://github.com/Nemesis0U/IntegrityGuard/releases) from releases\n\n### Option 2:\nRun the following command:\n\n    $ go install -v github.com/Nemesis0U/IntegrityGuard@latest\n\n\u003c!-- USAGE --\u003e\n## Usage:\n\n### Options:\n\n```\nUsage of IntegrityGuard:\n  -check\n    \tCheck integrity of the selected directory\n  -dir string\n    \tThe directory to hash and monitor for integrity\n  -interactive\n    \tEnable interactive mode\n  -password string\n    \tEncryption password for checksum storage (default \"empty\")\n  -verbose\n    \tEnable verbose output\n```\n\n### Generating checksum of a directory:\n\n```\n./IntegrityGuard -dir Documents -password 123456\n[========================================] 2698/2698\nHashes stored in Documents.hashes.enc\n```\n\n### Checking integrity of a directory:\n\n\n#### Pass:\n\n```\n./IntegrityGuard -dir Documents -password 123456 -check\n[========================================] 2698/2698\nIntegrity check successful. All files are verified. ✔️\n```\n\n#### Fail:\n\n```\n./IntegrityGuard -dir Documents -password 123456 -check\n[========================================] 2698/2698\nIntegrity check failed for: Customer_Database_Export.pdf\nNew file detected: test Legal/Contracts/Agreement.txt\nDeleted file detected: Research/Security_Analysis/latest.doc\nIntegrity check failed. Some files are missing or have been modified. ❌\n```\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumutcamliyurt%2Fintegrityguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumutcamliyurt%2Fintegrityguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumutcamliyurt%2Fintegrityguard/lists"}