$ traceforge tools ioc-extract ./incident_evidence.txt --defang
[+] Scanned 4,120 lines in 18ms (via optimized chunked engine)
[+] Extracted 14 indicators of compromise:
[IP] 198.51.100.24 → defanged: 198.51.100[.]24
[IP] 203.0.113.19 → defanged: 203.0.113[.]19
[DOMAIN] malicious-c2.test → defanged: malicious-c2[.]test
[URL] http://bad.test/drop → defanged: hxxp://bad[.]test/drop
[HASH] e3b0c44298fc1c149afb… → indexed SHA-256
SWITCH TABS OR TRY COMMANDS IN THE INTERACTIVE CLI
01 · FEATURED PROJECT · OSINT & DFIR TOOLING
v1.0.1 on PyPITraceForge
A local-first command-line toolkit for digital forensics, OSINT, and incident response. Built to run entirely on your own machine without sending evidence or queries to third-party servers.
What is it? A local-first command-line toolkit for digital forensics, OSINT collection, and incident triage. It runs entirely on the analyst's machine without transmitting hashes, logs, or queried indicators to third-party cloud servers.
Why did I build it? I wanted to understand how digital forensic triage works under the hood. Many cloud OSINT tools leak queried IP addresses and file hashes to third parties, violating confidentiality and breaking the chain of custody. I built TraceForge to keep all investigations 100% offline.
How does it work? Uses 64 KB chunked streaming I/O buffers and Python multiprocessing pools to hash directory snapshots and scan large log files without memory spikes. Defangs indicators (IPs, URLs, domains) using regular expressions, stores audit trails in an ACID-compliant local SQLite WAL database, and exports incident bundles to STIX 2.1 JSON.
What did I learn? Designing memory-efficient streaming buffers in Python, managing embedded SQLite schema migrations with Write-Ahead Logging, cross-platform Unix development across macOS (Apple Silicon) and Kali Linux, and packaging CLI software for PyPI.