GitHub - Nour833/StegoForge: 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.

8 min read Original article β†—

StegoForge Dashboard

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  ip_id, tcp_seq, 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!

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

Pro-Tips for Automation:

  • STEGOFORGE_FAST_UI=1 stegoforge skips animations for rapid, zero-delay bootups.
  • STEGOFORGE_UI_STAGE_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