Skip to main content

TraceForge

Open-source OSINT, DFIR and security investigation toolkit.

License: MIT Platform Shell Catalog Python CI Version


What It Does

TraceForge is an open-source command-line toolkit for OSINT, digital forensics, security investigation, evidence handling, and first-party investigation tools:

  • First-Party Native Tools (traceforge / go/): High-performance Go-native and Python utilities providing asset relationship graphing, snapshot diffing, streaming IOC extraction/defanging, forensic evidence indexing, UTC timeline normalization, PCAP network flow analysis, automated log triage, and filesystem baselining (see docs/FIRST_PARTY_TOOLS.md).
  • Tool Catalog & Installer: A searchable catalog of 152 tools and an automated installer that handles dependencies across Homebrew (macOS), APT (Linux), pipx (Python virtual environments), Go, Cargo, and RubyGems.
  • Investigation Modules: 7 built-in analysis scripts covering image metadata, network PCAPs, usernames, email breach records, domain DNS records, document metadata, and local OPSEC hygiene.
  • Case Management: Workspaces stored under workspace/ with unique case IDs, SHA-256 evidence hashing, and append-only chain-of-custody logging.
  • Export Pipeline: Generates reports in Markdown, standalone dark-mode HTML, CSV (with formula injection protection), TSV, JSON, JSONL streams, STIX 2.1, MISP, GeoJSON, KML, Excel XLSX, Word DOCX, and signed ZIP packages.
  • Redaction: Built-in --redact flag masks sensitive IP addresses and email addresses in generated reports.

Architecture

TraceForge does not ship binary copies of third-party tools inside the repository. It installs and launches external tools via your system's package managers:

+-------------------------------------------------------------------+
|                            TraceForge                             |
|      (CLI Menu, Tool Catalog, Case Workspaces, Report Exporter)   |
|                         [ MIT License ]                           |
+---------------------------------+---------------------------------+
                                  |
                                  | Installs / Launches / Collects Output
                                  v
+-------------------------------------------------------------------+
|                 Third-Party Command-Line Tools                    |
|   (ExifTool, TShark, Binwalk, Nmap, Sherlock, Maigret, etc.)     |
|         [ Retain Respective Upstream Copyright & Licenses ]        |
+-------------------------------------------------------------------+

All third-party tools remain the property of their respective creators and are licensed under their own open-source terms. See THIRD_PARTY_NOTICES.md for details.


Supported Systems

Platform Tier Architecture Package Manager Guide & Notes
macOS Apple Silicon Supported arm64 (M1/M2/M3/M4) Homebrew Full native support
macOS Intel Supported x86_64 Homebrew Full native support
Debian / Ubuntu Supported x86_64, arm64 APT Full native support
Kali Linux Supported x86_64, arm64 APT Full native support
Termux / Android Supported with limitations arm64, armv7, x86_64 pkg Non-root userland. Offline forensics & PCAP analysis. Termux Guide

Installation & Quick Start

1. Clone the Repository

git clone https://github.com/paman7647/TraceForge.git
cd TraceForge
chmod +x install_all.sh main.sh modules/*.sh scripts/*.sh tests/*.sh

2. Run the Installer

# Preview packages without installing (dry-run)
./install_all.sh --profile recommended --dry-run

# Core Profile: Minimal tools for the 7 modules (~15 packages)
./install_all.sh --profile core

# Recommended Profile (Default): Standard investigative toolset (~50 packages)
./install_all.sh --profile recommended

# Full Profile: All 152 installable catalog tools
./install_all.sh --profile full

3. Run TraceForge

# Interactive TTY Menu
./main.sh
# or via Python CLI
python3 -m traceforge

# Run system diagnostics
./main.sh doctor

# List existing cases
./main.sh list-cases

# Search the catalog
./main.sh search "steganography"

# Run first-party tools
traceforge ioc extract /path/to/intel.txt
traceforge asset graph /path/to/entities.jsonl --html graph.html

# Run a module directly
./main.sh module 1 /path/to/evidence.png CASE-20260825-ABC123

# Export a case
./main.sh export CASE-20260825-ABC123 --all --package zip

Investigation Modules

Module Script Target & Tools Used
01. Media & Image Forensics modules/01_image_forensics.sh Images and videos: EXIF/IPTC metadata, GPS coordinates, strings, steganography (exiftool, binwalk, zsteg, xxd).
02. Network & PCAP Forensics modules/02_network_recon.sh Packet captures: DNS queries, HTTP URIs, TLS SNI headers, conversations (tshark, capinfos, aircrack-ng).
03. Identity & Social Research modules/03_identity_social.sh Usernames and aliases: account discovery across web platforms (sherlock, maigret, blackbird, socialscan).
04. Email & Breach Intelligence modules/04_email_breach.sh Email addresses: account registrations, breach dumps, SPF/DMARC posture (holehe, h8mail, emailrep, theHarvester, checkdmarc).
05. Domain & DNS Intelligence modules/05_domain_dns.sh Domains: DNS records, passive subdomains, HTTP probing, typosquats (dig, whois, subfinder, amass, dnsx, httpx, dnstwist).
06. Document & Metadata Harvesting modules/06_document_harvesting.sh Documents (PDF, DOCX, XLSX): properties, text, embedded objects, macros, secret keys (poppler, oletools, exiftool, qpdf, ripgrep).
07. OPSEC & Environment Audit modules/07_opsec_anonymization.sh Local audit: public IP detection, DNS leak test, Tor/proxy status, encryption tools (mat2, tor, proxychains, gnupg, age).

Directory Structure

TraceForge/
├── main.sh                        # Interactive console and CLI dispatcher
├── install_all.sh                 # Multi-ecosystem package installer
├── pyproject.toml                 # Modern Python package configuration
├── go.mod                         # Go module declaration (zero external dependencies)
├── VERSION                        # Project version (1.0.0)
├── LICENSE                        # MIT License
├── NOTICE                         # Copyright and attribution
├── THIRD_PARTY_NOTICES.md         # Upstream tool licenses and repository links
├── README.md                      # Main project documentation
├── SECURITY.md                    # Vulnerability reporting guidelines
├── CONTRIBUTING.md                # Contribution guidelines
├── CODE_OF_CONDUCT.md             # Contributor Covenant 2.1
├── CHANGELOG.md                   # Version release history
├── RELEASE_NOTES.md               # 1.0.0 release notes
│
├── go/                            # Go-native high-performance engine
├── traceforge/                    # Pure Python implementation and package
│
├── catalog/
│   ├── README.md                  # Catalog schema specification
│   ├── tools.tsv                  # 15-column registry of 152 tools
│   └── TOOLS.md                   # Formatted markdown tool index
│
├── lib/
│   ├── common.sh                  # Terminal UI, colors, logging, string helpers
│   ├── platform.sh                # OS and architecture detection
│   ├── packages.sh                # Package managers (Homebrew, APT, pipx, Go, Gem, Cargo)
│   ├── catalog.sh                 # Catalog search and filter functions
│   ├── case.sh                    # Case lifecycle, evidence, findings, IOCs, timeline
│   ├── export.sh                  # Export coordinator, packaging, and hashing
│   └── report.sh                  # Markdown, HTML, and PDF report generators
│
├── modules/                       # 7 investigation modules (01 to 07)
├── scripts/
│   ├── doctor.sh                  # System and dependency diagnostic checker
│   ├── export_case.sh             # CLI export wrapper
│   ├── export_engine.py           # Multi-format export engine
│   ├── install_tool.sh            # Single tool installer
│   ├── generate_catalog_docs.sh   # Markdown documentation generator
│   └── release_check.sh           # Pre-flight release verification test
│
├── docs/                          # In-depth operator, architecture, and OPSEC guides
├── tests/                         # Automated test suite and regression tests
└── workspace/                     # Local investigation cases
    └── .gitkeep

Development & Branching Workflow

TraceForge maintains two long-lived branches:

  • master: Stable, production-ready public release branch.
  • beta: Active integration branch for new features, bug fixes, platform improvements, and release candidates.
                  master  (Stable Releases)
                    ▲
                    │  Release PR (Validated & Tagged)
                    │
                   beta   (Active Development & RC)
                ▲   ▲   ▲
                │   │   │  Pull Requests
           feature fix docs  (Short-Lived Working Branches)

Pull requests and contributions must target the beta branch. See docs/BRANCHING.md for the branching model, docs/BUG_REPORTING.md for issue guidelines, and CONTRIBUTING.md for pull request workflows.


Automated Testing

Run the test suite before submitting pull requests or publishing releases:

# Run Python & Platform test suites
python3 -m unittest discover -s tests

# Run master shell & integration test harness
./tests/test.sh

# Run pre-flight release check
./scripts/release_check.sh beta

All shell scripts are validated with bash -n and shellcheck -x.


Responsible Use

TraceForge is intended for lawful OSINT, digital forensics, incident response, security research, authorized testing, education, and lab work.

You are responsible for ensuring that your use of the software is authorized and complies with applicable law, regulation, contracts, platform terms, privacy requirements, and organizational policy.

TraceForge does not grant permission to access any system, account, network, service, or data.

See DISCLAIMER.md and RESPONSIBLE_USE.md for details.


Documentation & Policies


Authors & Credits

  • Lead Architect & Core Developer: Aman Kumar Pandey
  • Credits: Thanks to the Global Open-Source Security Community
  • License: MIT License
  • Copyright: Copyright (c) 2026 Aman Kumar Pandey

Download files

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

Source Distribution

traceforge_osint-1.0.0.tar.gz (73.5 kB view details)

Uploaded Source

Built Distribution

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

traceforge_osint-1.0.0-py3-none-any.whl (73.3 kB view details)

Uploaded Python 3

File details

Details for the file traceforge_osint-1.0.0.tar.gz.

File metadata

  • Download URL: traceforge_osint-1.0.0.tar.gz
  • Upload date:
  • Size: 73.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for traceforge_osint-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7f8526bbcf3473476b89e75ee9fc4e66bac99f9273545ce55a992fdd6e4b20dd
MD5 0cc4a1cf4367c7a60882ea8c9b3b2d69
BLAKE2b-256 dc2b59c117c717c9ea3f62bfff8d3c00a51a8520e54f227c48bed3b9c205adeb

See more details on using hashes here.

File details

Details for the file traceforge_osint-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for traceforge_osint-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f838d7879190dfaba615c2a9b46e8d803ff34c8142a365bb7c11b211371bdf5a
MD5 fde8ed736284bbcbb14b55d72c84220c
BLAKE2b-256 208ddbb7fff5b6ea4f523cb161b308b7b1809ca52692596e14a36fad29ec97f5

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

This release

1.0.0 This release

2 files

Supported by

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