StegoForge

StegoForge is a modular .NET steganography toolkit for reliable carrier workflows.

Use the deterministic CLI for automation or the WPF desktop app for guided operations across BMP, PNG, and WAV carriers.

Project overview

StegoForge is a layered steganography platform with shared orchestration services and delivery surfaces for both scripted and desktop usage.

  • Core contracts in StegoForge.Core define service and payload models.
  • StegoForge.Application coordinates embed, extract, capacity, and info orchestration.
  • Delivery surfaces include a scriptable CLI and a WPF desktop app.

Feature highlights

Current implementation emphasizes deterministic behavior, policy validation, and clear boundaries between UI and carrier handlers.

  • Layered architecture

    Core contracts, application orchestration, and provider modules keep UI concerns separate from carrier logic.

  • Deterministic CLI contracts

    Stable exit codes and JSON error shapes are designed for scripting and CI automation.

  • Policy-aware workflows

    Embed and extract requests enforce compression/encryption policy validation before handler I/O.

  • Test-first reliability

    Unit, integration, CLI, and WPF suites validate round trips and failure semantics.

Supported formats

Production handlers currently wired through full workflows.

  • PNG: png-lsb-v1
  • BMP: bmp-lsb-v1
  • WAV: wav-lsb-v1

CLI examples

Realistic commands from the repository root for common automation and diagnostics workflows.

  • dotnet run --project src/StegoForge.Cli -- embed --carrier samples/input.png --payload samples/message.bin --out artifacts/output.png --compress auto --encrypt aes-gcm --password-env STEGOFORGE_PASSWORD

    Embeds a payload into a PNG carrier with automatic compression and AES-GCM encryption from an environment-provided password.

  • dotnet run --project src/StegoForge.Cli -- extract --carrier artifacts/output.png --out artifacts/recovered.bin --password-env STEGOFORGE_PASSWORD

    Extracts and decrypts the payload from the stego carrier back to a binary file.

  • dotnet run --project src/StegoForge.Cli -- capacity --carrier samples/input.wav --payload 65536 --compress auto --json

    Checks whether a WAV carrier can hold a 64 KiB payload and emits a machine-readable capacity report.

  • dotnet run --project src/StegoForge.Cli -- info --carrier artifacts/output.png --json

    Inspects carrier metadata and embedded envelope details for troubleshooting and pipeline checks.

WPF desktop app

StegoForge.Wpf provides a Windows-native workflow for interactive embed/extract operations.

Use the WPF app when you want a guided desktop workflow instead of CLI flags.

  • Interactive validation before running long operations.
  • Guided parameter entry for encryption/compression combinations.
  • Operator-friendly status and diagnostics when triaging failed extracts.

Launch on Windows with:

dotnet run --project src/StegoForge.Wpf

Build on Windows with:

dotnet build src/StegoForge.Wpf/StegoForge.Wpf.csproj

Full GUI documentation: docs/gui.md

Installation / getting started

Quickstart for CLI and test validation using the pinned .NET SDK (10.0.100).

git clone https://github.com/Adilx05/StegoForge.git
cd StegoForge
dotnet restore
dotnet build
dotnet test tests/StegoForge.Tests.Unit/StegoForge.Tests.Unit.csproj
dotnet run --project src/StegoForge.Cli -- help

Full build and environment instructions: docs/building.md

Download / releases

Get binaries from tagged releases or review source, docs, and issues in the repository.

Roadmap

Roadmap summary synced with docs/roadmap.md milestones 1-14.

  • Milestones 1-2: Foundation and contracts

    Solution scaffolding and stable core abstractions for embed/extract/capacity/info contracts.

  • Milestones 3-5: Payload, compression, and crypto

    Versioned payload envelope, pluggable compression, and authenticated encryption with KDF policy support.

  • Milestones 6-8: Carrier format coverage

    Production PNG/BMP/WAV LSB handlers with deterministic capacity and validation behavior.

  • Milestones 9-11: Delivery surfaces

    Application orchestration hardening plus stable CLI command surface and first usable WPF GUI.

  • Milestones 12-14: Hardening to release

    Robustness, documentation/developer-experience completion, and v1.0 release readiness.

Detailed checklist: docs/roadmap.md

Optional FAQ

Is StegoForge production-ready?

Core CLI/application flows for PNG/BMP/WAV are implemented and covered by tests.

Can I script it?

Yes. Use CLI JSON mode and mapped exit codes for deterministic automation behavior.