Nour833
StegoForge
Python

The ultimate steganography and digital forensics toolkit. Hide and extract data across images, audio, video, documents, and network packets, or run 11 advanced detection engines to uncover hidden payloads.

Last updated Jul 9, 2026
547
Stars
77
Forks
1
Issues
+40
Stars/day
Attention Score
88
Language breakdown
Python 79.9%
HTML 7.7%
JavaScript 7.5%
CSS 4.5%
Shell 0.4%
β–Έ Files click to expand
README

StegoForge Dashboard

# πŸ›‘οΈ StegoForge The ultimate hybrid of steganography, digital forensics, and covert communications.

Python License Platform GitHub Stars GitHub Downloads CTF


⚑ Quick Launch (Standalone Binaries)

StegoForge is a complex Python framework, but you shouldn't have to deal with broken environments when doing active forensics. We have compiled zero-dependency, native executables that automatically resolve their own AI and Media requirements.

Head over to the Releases Page and download the binary for your OS.

  • No pip install required.
  • No PATH configurations.
  • Just execute it.

πŸš€ Quick Start in 30 Seconds

# 1. Hide a file inside an image (AES-256-GCM encrypted, auto-method)
stegoforge encode -c photo.png -p secret.pdf -k "my-pass"

2. Retrieve the hidden file

stegoforge decode -f photo_stego.png -k "my-pass"

3. CTF one-click forensic dump on any suspicious file

stegoforge ctf -f suspicious.mp3

4. Compare original vs stego β€” pixel heatmap

stegoforge diff -c photo.png -s photo_stego.png

5. Batch embed a secret into every carrier in a folder

stegoforge batch -d ./carriers/ -p secret.txt -k "my-pass"

6. Check capacity and stealth score of a carrier

stegoforge capacity -c photo.png --depth 2

7. Simulate Twitter recompression and test payload survives

stegoforge encode -c photo.png -p secret.txt -k "my-pass" --target twitter --test-survival

8. Launch the local web UI (no data ever leaves your machine)

stegoforge web

Install tab-completion (bash)

eval "$(stegoforge completion bash)"

Use env var to avoid key in shell history

export STEGOFORGE_KEY="my-pass" stegoforge decode -f stego.png # key read from env

🧠 What is StegoForge?

The Concept in Plain English: Steganography is the art of hiding secrets in plain sight. StegoForge takes your secret message or file and mathematically weaves it into the pixels of a normal photo, the soundwaves of a song, or the frames of a video. To the rest of the world, it just looks like a regular meme or MP3 track. To you, it's an invisible vault.

StegoForge is a modular, enterprise-grade steganography toolkit engineered for the full lifecycle of covert data: from embedding payloads into images, audio, video, and active network protocols, to deploying machine-learning steganalysis to forcibly extract anomalies from suspicious carrier files.

Built for security researchers, CTF players, and digital forensics practitioners, it doesn't try to be one thing. It executes the entire forensic spectrum seamlessly.

$ stegoforge encode --carrier cover.png --payload secret.txt --key "mypassword" --method lsb
[+] Payload encrypted with AES-256-GCM
[+] Embedded 2048 bits across RGB channels (1-bit depth)
[+] Output: cover_stego.png
[+] Statistical profile: indistinguishable from baseline (chiΒ² = 0.021)

$ stegoforge ctf --file suspicious.mp3 [*] Running all detectors on suspicious.mp3 ... [⏭] Chi-square LSB anomaly SKIPPED [⏭] RS analysis SKIPPED [!] Blind extractor found payload at: audio-lsb, depth=1, AES encrypted blob [+] Extracted 412 bytes β†’ saved to extracted_payload.bin


Feature Overview

stegoforge/
β”œβ”€β”€ Image Carriers          PNG Β· JPEG Β· BMP Β· GIF Β· WebP
β”‚   β”œβ”€β”€ LSB / Adaptive LSB  1–4 bit depth + WOW-style content-aware cost ordering
β”‚   β”œβ”€β”€ DCT + JND-safe cap  JPEG frequency-domain embedding + Watson-style perceptual budget
β”‚   β”œβ”€β”€ Fingerprint LSB     PRNU-aware embedding mode
β”‚   └── Alpha / Palette     Transparency and indexed-color channels
β”‚
β”œβ”€β”€ Video Carriers          MP4 Β· WebM
β”‚   β”œβ”€β”€ Video DCT           Keyframe embedding with block-cost ranking
β”‚   └── Video Motion        Temporal+texture masked block embedding (MP4)
β”‚
β”œβ”€β”€ Audio Carriers          WAV Β· FLAC Β· MP3 Β· OGG
β”‚   β”œβ”€β”€ Sample LSB          Psychoacoustic-style cost-ordered PCM LSB
β”‚   β”œβ”€β”€ Phase coding        Segment-phase encoding
β”‚   └── Spectrogram art     Visual payloads in spectrum domain
β”‚
β”œβ”€β”€ Document Carriers       TXT Β· PDF Β· DOCX Β· XLSX
β”‚   β”œβ”€β”€ Unicode whitespace  Adaptive insertion-point ranking (ZWSP/ZWNJ/ZWJ)
β”‚   β”œβ”€β”€ Linguistic mode     Key-aware synonym-channel text steganography
β”‚   β”œβ”€β”€ PDF streams         Object/stream/metadata injection
β”‚   └── Office XML          Custom XML parts and streams
β”‚
β”œβ”€β”€ Binary Carriers         ELF Β· PE/EXE/DLL (CLI)
β”‚   β”œβ”€β”€ ELF slack/notes     2-bit masked region-cost embedding
β”‚   └── PE slack/overlay    2-bit masked region-cost embedding
β”‚
β”œβ”€β”€ Network Covert Channels (CLI)
β”‚   β”œβ”€β”€ TCP field channels  ipid, tcpseq, ttl
β”‚   └── Timing channel      Inter-packet delay encoding
β”‚
β”œβ”€β”€ Crypto + Survivability
β”‚   β”œβ”€β”€ AES-256-GCM + Argon2
β”‚   β”œβ”€β”€ Decoy mode          Dual-payload plausible deniability
β”‚   β”œβ”€β”€ Wet-paper wrapping  Reed-Solomon resilience wrapper
β”‚   └── Platform profiles   Social-media-aware method selection/simulation
β”‚
└── Interfaces
  β”œβ”€β”€ CLI                 Hybrid-first grouped method selection + full command mode
  β”œβ”€β”€ Web UI (Flask)      Grouped method pills, hybrid badges, local SSE streaming
  └── CTF mode            One command, all relevant detectors, ranked report

πŸ’» Developer Installation

If you wish to build StegoForge from source or utilize the Python APIs natively:

git clone https://github.com/Nour833/StegoForge.git
cd StegoForge
pip install -r requirements.txt
pip install -r requirements-web.txt
pip install -e .

Fire up the Glassmorphism Web App instantly:

stegoforge web  # Automatically deploys at http://localhost:5000

Note on ML Architecture: StegoForge implements true Machine Learning steganalysis. The very first time you boot the engine, it will silently interface with HuggingFace to download the ONNX CNN weights directly into your ~/.stegoforge/models cache.

🎨 Interactive Menu (Recommended for Beginners)

Don't want to memorize terminal commands? Just run the tool on its own to access the interactive CLI!

stegoforge
The menu features a cinematic startup sequence, grouped method selection, and guided transitions between Encoding, Decoding, and Forensics.

Pro-Tips for Automation:

  • STEGOFORGEFASTUI=1 stegoforge skips animations for rapid, zero-delay bootups.
  • STEGOFORGEUISTAGE_DELAY=0.45 stegoforge fine-tunes the pacing of the visual display.

πŸ’» Advanced Command Line Interface

If you prefer raw terminal throughput, the CLI supports hyper-specific routing for all modules.

πŸ₯· 1. Payload Encoding

# Basic LSB into PNG
stegoforge encode -c photo.png -p message.txt -k "passphrase"

Stealth JPEG DCT with custom bit depth

stegoforge encode -c photo.jpg -p secret.bin -k "key" --method dct

Spectrogram Art β€” Hide a visual image inside playable audio

stegoforge encode -c music.wav -p logo.png --method spectrogram

Decoy mode β€” Generates two keys, hiding two payloads in one file for plausible deniability

stegoforge encode -c photo.png -p real_secret.txt -k "realkey" \ --decoy decoy_message.txt --decoy-key "duresskey"

πŸ”“ 2. Payload Decoding

stegoforge decode -f photo_stego.png -k "passphrase"
stegoforge decode -f music_stego.wav -k "key" --method phase

πŸ•΅οΈ 3. Blind Forensics & CTF Mode (Zero-Knowledge)

# Run the complete heuristic gauntlet natively (Highly Recommended)
stegoforge ctf -f suspicious.png

Targeted ML / Statistical Detection

stegoforge detect --chi2 -f image.png stegoforge detect --rs -f image.png

πŸ›°οΈ 4. Covert Protocols (Dead Drops)

# Embed a payload and securely POST it as a disguised HTTP packet
stegoforge deadrop post -c cover.png -p msg.txt -k "shared_key"

Monitor a remote image URL for an incoming payload change

stegoforge deadrop monitor --url "https://example.com/image.png" -k "shared_key" --interval 20

πŸ”¬ Detection Methods Overview

Click to expand full list of Forensic Capabilities

| Method | Target File | What It Automatically Detects | |---|---|---| | Chi-square | Images | LSB frequency distribution anomalies | | RS Analysis | Images | Payload capacity estimation without a key | | ML Steganalysis | Images | Learned stego likelihood from HuggingFace ONNX CNN models | | Fingerprint | Images | PRNU inconsistency + in-browser tamper heatmaps | | Video anomaly | MP4/WebM | Keyframe DCT-distribution anomalies | | Audio anomaly | WAV/FLAC/MP3 | Sample bit-plane and statistical irregularities | | PDF anomaly | PDF | Suspicious /EmbeddedFile, JS, or tail entropy | | Blind extractor | Multimedia | Auto-tries common bit-patterns and AES-magic headers |


πŸ“‚ System Architecture

Click to explore StegoForge's Module Tree

stegoforge/
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ image/          # LSB, Adaptive WOW, DCT, PRNU Fingerprinting, Palette
β”‚   β”œβ”€β”€ audio/          # PCM LSB, Phase-Coding, Spectrogram visual embedding
β”‚   β”œβ”€β”€ video/          # Keyframe block-cost, motion temporal masks
β”‚   β”œβ”€β”€ document/       # PDF Streams, Office XML, Unicode Zero-Width
β”‚   β”œβ”€β”€ network/        # Timing channels, TCP field covert channels
β”‚   β”œβ”€β”€ crypto/         # AES-256-GCM, Decoy Deniability, Argon2 KDF
β”‚   └── binary/         # ELF / PE Slack space embedding
β”œβ”€β”€ detect/             # Statistical analysis, HuggingFace ONNX CNNs, Brute-forcing
β”œβ”€β”€ protocol/           # HTTP Dead Drops, X25519 Stego Key Exchange
└── web/                # High-performance Flask dashboard & Server-Sent Events

πŸš€ Supported Capabilities Matrix

| Carrier Format | Injection Method | Extraction Status | Forensic Blind Detection | |:---:|:---:|:---:|:---:| | PNG | βœ… LSB, Alpha, Palette | βœ… Supported | βœ… Supported | | JPEG | βœ… DCT | βœ… Supported | βœ… Supported | | MP4 | βœ… Video DCT, Motion | βœ… Supported | βœ… Supported | | WAV / MP3 | βœ… Sample, Phase, Spectro | βœ… Supported | βœ… Supported | | PDF | βœ… Object/Stream | βœ… Supported | βœ… Supported | | Office XML | βœ… XML Streams | βœ… Supported | βœ… Supported | | ELF / PE | βœ… Slack Space / Header | βœ… Supported | βœ… Supported |

Social survivability targets currently supported via Reed-Solomon wrapping: twitter, instagram, telegram, discord, whatsapp, signal.


βš–οΈ Legal Disclaimer & Contributing

Strictly Educational Disclaimer:
StegoForge was engineered strictly for digital forensics research, Capture The Flag (CTF) competitions, and lawful offensive security testing.
Concealing illegal content, orchestrating unauthorized data exfiltration, or attempting to evade lawful surveillance is universally illegal. The author accepts zero liability for any misuse of this technology.

Contributing: Pull requests are heavily welcomed. Please ensure new encoding methods implement the BaseEncoder interface and contain robust PyTest coverage.

Built by Nour833. Coded for the community.
If you find StegoForge useful, educational, or just plain cool, consider leaving a ⭐!

Report a Bug β€’ Request a Feature

πŸ”— More in this category

Β© 2026 GitRepoTrend Β· Nour833/StegoForge Β· Updated daily from GitHub