Linux-based digital forensics command-line toolkit
Project description
PyForensicKit
PyForensicKit is a Linux-based digital forensics command-line toolkit designed to assist investigators in analyzing digital evidence while preserving forensic integrity.
Features
- Cryptographic hashing (MD5, SHA1, SHA256)
- File metadata extraction
- Read-only evidence analysis
- JSON, HTML, and PDF report generation
- Modular and extensible architecture
- File system timeline reconstruction
- CSV and JSON timeline export
- Evidence integrity verification
- Case management support
Installation
Clone the repository and install dependencies:
git clone https://github.com/samuelselasi/pyforensickit.git
cd pyforensickit
pip install -r requirements.txt
Note:
libmagicis required for full metadata extraction. On Ubuntu, install with:
sudo apt-get update
sudo apt-get install -y libmagic1
Usage
Basic JSON Report
Analyze evidence and save a JSON report:
python -m pyforensickit.cli.main /path/to/evidence --output report.json
Timeline CSV Export
Analyze and export file timeline as CSV:
python -m pyforensickit.cli.main /path/to/evidence --timeline-csv timeline.csv
Full Report with Integrity Verification
Generate JSON, HTML, and PDF reports while verifying evidence integrity:
python -m pyforensickit.cli.main /path/to/evidence \
--output report.json \
--report-html report.html \
--report-pdf report.pdf \
--verify-integrity \
--case-id CASE-2026-01 \
--investigator "John Doe" \
--description "Baseline system analysis"
CLI Options
| Option | Description |
|---|---|
path |
Path to evidence file or directory |
-o, --output |
Save forensic report to JSON file |
--timeline-csv |
Export timeline to CSV file |
--case-id |
Forensic case identifier |
--investigator |
Investigator name |
--description |
Brief case description |
--verify-integrity |
Verify evidence integrity before and after analysis |
--report-html |
Generate an HTML report |
--report-pdf |
Generate a PDF report |
Example Case Workflow
- Create a forensic case report:
python -m pyforensickit.cli.main /var/log --output logs.json --case-id CASE-LOGS-01 --investigator "Jane Smith"
- Verify evidence integrity and export full reports:
python -m pyforensickit.cli.main /home/user/evidence \
--output case.json \
--report-html case.html \
--report-pdf case.pdf \
--verify-integrity \
--case-id CASE-2026-02 \
--investigator "John Doe" \
--description "Home directory analysis"
- Export timeline for additional analysis:
python -m pyforensickit.cli.main /home/user/evidence --timeline-csv timeline.csv
Forensic Considerations
- Read-only analysis: No evidence modification occurs.
- Hashing: Computes MD5, SHA1, and SHA256 directly from disk.
- Integrity verification: Evidence hashes are verified before and after analysis.
- Offline workflow: Designed to work without network connectivity.
- Research and education: Intended as a learning and investigative tool, not a replacement for enterprise forensic suites.
Development & Contribution
- Modular design allows adding new forensic modules.
- Use
pytestfor running tests:
pytest -v --cov=src/pyforensickit
- Ensure all tests pass before submitting pull requests.
Roadmap
- Timeline reconstruction improvements
- Deleted file recovery and analysis
- Email and browser artifact analysis
- Web-based reporting interface
- Integration with third-party forensic tools
License
PyForensicKit is licensed under the MIT License.
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyforensickit-0.1.1.tar.gz.
File metadata
- Download URL: pyforensickit-0.1.1.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e33ff272a3dd2f383a1db832fe97c556a012097b9065b32d65f67139e977230c
|
|
| MD5 |
e6d121fa429ec4735e950fd0e5d234b0
|
|
| BLAKE2b-256 |
bce654f944247cd2e1ef169996734dda993437a1e43417c0da6eb50bd3b852d4
|
File details
Details for the file pyforensickit-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pyforensickit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08001b0e3686f81770177dc7659de28caa795d8e7c5e7259380041cdfda220e4
|
|
| MD5 |
71d31fbbdadf0e529aea4f74855d554c
|
|
| BLAKE2b-256 |
50b77d974e4b35f2e29d01aa9ed7df1c9ff5a7a6ba1338e34594b4a11eea549f
|