Skip to main content

The most complete open-source steganography toolkit

Project description

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  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!

stegoforge

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

Project details


Download files

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

Source Distribution

stegoforge-1.1.4.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

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

stegoforge-1.1.4-py3-none-any.whl (181.4 kB view details)

Uploaded Python 3

File details

Details for the file stegoforge-1.1.4.tar.gz.

File metadata

  • Download URL: stegoforge-1.1.4.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stegoforge-1.1.4.tar.gz
Algorithm Hash digest
SHA256 cc8b085b2fa3085307c4ba4432dbd2432007fcfe65c49b8bd53b89a82bfba065
MD5 725a9b624349b9e41159ee423b807e77
BLAKE2b-256 66dbc023a674e02aad80633c5ec796956614eeebda348d391d5c9b9dcba42320

See more details on using hashes here.

File details

Details for the file stegoforge-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: stegoforge-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 181.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stegoforge-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d63c13f87a589af507b5a4d48511722e3fb1a030d43a50d2dea47f1f832aff46
MD5 6edf104c60cbee5c445146d742c91af8
BLAKE2b-256 018f77a9166bc66ad7f6b8e9bb1f7c1ae39387be7c239d87c040a9d8b57cd9e2

See more details on using hashes here.

Supported by

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