🧪 DISKOVERY: Disk Forensics Tool for Data Categorization & Keyword Filtering
DISKOVERY is a Python-based digital forensics tool designed to analyze disk images. It performs a multi-stage forensic analysis including imaging, partition parsing, file categorization, keyword-based filtering, and automatic PDF reporting. The tool supports both complete and filtered analysis outputs and provides investigators with a concise overview of disk contents. It is a command-line interface (CLI) tool that works well on Ubuntu and Debian-based systems.
⚙️ Features
- Disk Image Support (
.img,.E01,.dd) - Partition Parsing using
mmls - File Categorization:
- Deleted
- Encrypted
- Current
- Hidden
- File Type Filtering (e.g.,
.pdf,.docx) - Keyword Search in extracted text-based files
- Visual Summary via pie charts
- PDF Report Generation with listings, and visualizations
Steps to use
- Insert pendrive.
- To check the location at which it's inserted: sudo fdisk -l
- Go to script folder and run main.py: sudo python3 main.py
📁 Project Structure
diskovery/
├── diskovery/ # Main package
│ ├── __init__.py
│ ├── main.py # CLI entry point
│ ├── stages/ # Stage-wise modular pipeline
│ │ ├── __init__.py
│ │ ├── stage1_disk_imaging.py
│ │ ├── stage2_extraction.py
│ │ ├── stage3_categorization.py
│ │ ├── stage4_filtering.py
│ │ ├── stage4_2_keyword.py
│ │ └── stage5_reporting.py
│ └── utils/ # Utility functions
│ ├── __init__.py
│ └── run_command.py
│
├── README.md # Project overview and usage
├── LICENSE # MIT License
├── setup.py # Packaging configuration
├── requirements.txt # Python dependencies
├── MANIFEST.in # Include non-code files for PyPI
├── pyproject.toml # Build configuration
└── .gitignore # Git ignore rules
🚀 Quick Start
1. Clone the Repository
git clone https://github.com/simmithapad/DISKOVERY.git
cd DISKOVERY
2. Run Setup (Installs Tools + Python Packages)
pip install -r requirements.txt
3. Start the Tool
python3 -m venv .venv
source .venv/bin/activate
python3 main.py
🛠️ Dependencies
System Tools (Installed via setup.sh)
dcflddsleuthkit(formmls,fls,fsstat)binwalkgrepandpdfgrep
Python Packages
fpdfelasticsearchdocx2txtre
📄 Output
- Disk images saved in
./output_files/ - PDF reports saved in
./output_files/reports/ - Extracted files saved in
./output_files/extracted_files/
📬 Future Work
- GPU Acceleration
- Memory Forensics Integration
👤 Author
Simmi Thapad
Vrinda Abrol
License
This project is licensed under the MIT License - see the LICENSE file for details.
🔒 Disclaimer
Metadata
Release files for diskovery 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| diskovery-0.1.2.tar.gz | 16.1 kB | Without provenance | Details for diskovery-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| diskovery-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for diskovery-0.1.2-py3-none-any.whl |
Total release size: 32.9 kB
Release files / diskovery-0.1.2.tar.gz
| Download URL | diskovery-0.1.2.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89f649a056d932fddcd7d385d7df6b7607efe9a5e742995cc9ec1cbc474a470a
|
|
BLAKE2b-256 checksum How to use checksums |
3648e2ed5d47b3920e523c1d044cbe71499e3fb8f17d9f10ae86f6ca7f9b76bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / diskovery-0.1.2-py3-none-any.whl
| Download URL | diskovery-0.1.2-py3-none-any.whl |
|---|---|
| Size | 16.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
08e60d4f176f1dcd6854abe6ae1ea2d0b9b0fd75b4ef3c43fbdc281e08ec9436
|
|
BLAKE2b-256 checksum How to use checksums |
3aff4a8a432c5e2b1ba8838a49db53ddacb28ad8d8057a125194e8b2e830f02c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Security for diskovery 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.