Skip to main content

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: libmagic is 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

  1. Create a forensic case report:
python -m pyforensickit.cli.main /var/log --output logs.json --case-id CASE-LOGS-01 --investigator "Jane Smith"
  1. 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"
  1. 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 pytest for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyforensickit-0.1.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyforensickit-0.1.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for pyforensickit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e33ff272a3dd2f383a1db832fe97c556a012097b9065b32d65f67139e977230c
MD5 e6d121fa429ec4735e950fd0e5d234b0
BLAKE2b-256 bce654f944247cd2e1ef169996734dda993437a1e43417c0da6eb50bd3b852d4

See more details on using hashes here.

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

Hashes for pyforensickit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08001b0e3686f81770177dc7659de28caa795d8e7c5e7259380041cdfda220e4
MD5 71d31fbbdadf0e529aea4f74855d554c
BLAKE2b-256 50b77d974e4b35f2e29d01aa9ed7df1c9ff5a7a6ba1338e34594b4a11eea549f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page