{"slug": "show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary", "title": "Show HN: Stegcore – steganography and steganalysis in one Rust binary", "summary": "Stegcore, a new Rust-based steganography tool, hides encrypted messages inside images and audio files without altering their appearance, offering deniable dual-payload mode and steganalysis at Aletheia parity. The tool runs entirely offline with no network connections, using authenticated ciphers and Argon2id key derivation, and is available as a native binary with CLI and GUI for Linux, macOS, and Windows.", "body_md": "Stegcore hides encrypted messages inside everyday pictures and sound files. The file still looks and sounds completely normal. Nobody can tell it contains a hidden message, not your internet provider, not a border agent, not a forensic analyst with professional tools.\n\nYour data never leaves your device. No accounts. No cloud. No telemetry. No network connections of any kind. One passphrase to hide, the same passphrase to recover.\n\nIf someone ever forces you to hand over a password, give them the decoy one. Stegcore can hold two messages in the same file, each with its own passphrase. Nobody looking at the file can tell which half has the real message, or that a second message exists at all.\n\nSteganalysis at Aletheia parity.Stegcore matches[Aletheia], the public reference for steganalysis, on three classical detectors (Sample Pair Analysis, RS, Weighted Stego) to floating-point precision, and runs roughly 100× faster on the RS code path in Rust. Detector thresholds are calibrated against real clean images (Cassavia 2022, BOSSbase 1.01 and an ALASKA2 sample) at a documented low false-alarm rate, never guessed. Everything else (embedding, extracting, encryption, deniable mode, GUI, CLI) is production-ready.\n\n## What is under the hood\n\nThree authenticated ciphers (Ascon-128, ChaCha20-Poly1305, AES-256-GCM). Argon2id for turning passphrases into encryption keys, tuned to make brute force painful. Adaptive embedding that picks noisy parts of the cover file so the hidden data disappears into the natural grain. Deniable dual-payload mode. Steganalysis suite at Aletheia parity on the classical SPA / RS / WS detectors, plus tiered structural tool fingerprinting (Exact and Heuristic). Desktop GUI and CLI. One small native binary.\n\nGrab the latest release for your platform from the [ Releases page](https://github.com/The-Malware-Files/Stegcore/releases).\n\n| Platform | CLI | GUI |\n|---|---|---|\nLinux x86_64 |\n`.tar.gz` |\n`.AppImage` or `.deb` |\nmacOS (Intel and Apple Silicon) |\nUniversal binary | `.dmg` |\nWindows x86_64 |\n`.zip` |\n`.msi` |\n\nSame URL works on Linux, macOS and Windows. Detects your platform automatically.\n\n**Linux and macOS:**\n\n```\ncurl -fsSL https://raw.githubusercontent.com/The-Malware-Files/Stegcore/main/install | sh\n```\n\n**Windows (PowerShell):**\n\n```\nirm https://raw.githubusercontent.com/The-Malware-Files/Stegcore/main/install | iex\n```\n\n## Installer options\n\n```\n# Pin a version\nSTEGCORE_VERSION=v4.0.1 curl -fsSL .../install.sh | bash\n\n# Custom install directory\nSTEGCORE_DIR=/opt/stegcore curl -fsSL .../install.sh | bash\n\n# Uninstall\nbash install.sh --uninstall\n# Windows options\n.\\install.ps1 -Component both          # CLI plus GUI\n.\\install.ps1 -Version v4.0.1          # Pin version\n.\\install.ps1 -Uninstall               # Remove\n.\\install.ps1 -DryRun                  # Preview only\ncargo build --workspace --release\n```\n\nThis produces the CLI at `target/release/stegcore`\n\n. For the desktop app, run `cargo tauri build`\n\nfrom the repo root.\n\n```\n# Guided wizard (best for first time users)\nstegcore wizard\n\n# Hide a message\nstegcore embed cover.png secret.txt -o stego.png\n\n# Recover a message\nstegcore extract stego.png -o recovered.txt\n\n# Check a file for a hidden message\nstegcore analyse suspect.png\n\n# Scan a folder with a progress bar\nstegcore analyse *.png --json\n\n# Works in pipes\necho \"secret\" | stegcore embed cover.png - -o stego.png\nstegcore extract stego.png --raw | xxd\nstegcore score cover.png        # Is this file a good hiding spot?\nstegcore diff cover.png stego.png   # Show the pixel difference\nstegcore info stego.png         # Read metadata (needs the passphrase)\nstegcore ciphers                # List available encryption options\nstegcore doctor                 # System health check\nstegcore benchmark              # Test how fast your machine runs the ciphers\nstegcore completions bash       # Shell completion setup\nstegcore verse                  # A small daily encouragement\n```\n\nFull flag reference: `stegcore --help`\n\n.\n\nLaunch Stegcore, then follow the step-by-step wizards for hiding, recovering, or checking files. Drag and drop works everywhere.\n\n| Feature | What it does |\n|---|---|\n| Embed wizard | Four-step flow: message, cover file, options, confirm |\n| Extract wizard | Three-step flow: stego file, passphrase, recovered payload |\n| Analysis dashboard | Animated charts for each detector with the verdict and per-test scores. |\n| Audio analysis | Waveform view with suspicious regions highlighted |\n| Pixel diff | Before and after comparison on embed success |\n| Export | Copy the dashboard to clipboard, export as PDF, HTML, JSON or CSV |\n\nAnalysis history stays on your device. Nothing leaves.\n\n| Format | Hide | Recover | Analyse | Notes |\n|---|---|---|---|---|\n| PNG | ✓ | ✓ | ✓ | Best capacity and concealment |\n| BMP | ✓ | ✓ | ✓ | Lossless |\n| JPEG | ✓ | ✓ | ✓ | JSteg style JPEG embedding |\n| WebP | ✓ | ✓ | ✓ | Lossless WebP |\n| WAV | ✓ | ✓ | ✓ | PCM audio, least significant bit |\n| FLAC | ✓ | ✓ | ✓ | Lossless audio, bit-exact round-trip |\n\nWe compare against the tools we have actually run side by side (Steghide and OpenStego). Broader head-to-head benchmarks are an ongoing effort.\n\n| Stegcore | Steghide | OpenStego | |\n|---|---|---|---|\n| Works offline | ✓ | ✓ | ✓ |\n| Modern encryption | 3 authenticated ciphers plus Argon2id | Rijndael plus MD5 | AES-128 |\n| Deniable dual-payload | ✓ | ✗ | ✗ |\n| Built-in analysis | ✓ (SPA + RS + WS + fingerprints) | ✗ | ✗ |\n| Cover scoring | ✓ | ✗ | ✗ |\n| Pixel diff | ✓ | ✗ | ✗ |\n| GUI + CLI | ✓ | CLI only | GUI only |\n| Works in pipes | ✓ | ✗ | ✗ |\n| Actively maintained | ✓ (2026) | ✗ (2003) | ✗ (2016) |\n\nStegcore is built in public, so we are specific about what it catches and what it does not.\n\n**Classical detectors at Aletheia parity.** Sample Pair Analysis, RS and Weighted Stego match the public[Aletheia](https://github.com/daniellerch/aletheia)reference to floating-point precision, and run far faster in Rust.**Strong** on spatial least-significant-bit replacement at moderate and higher payloads, and on tools that leave a structural fingerprint (OpenStego, for example), where a hit is effectively decisive.**Hard, and we say so.** Very low payloads, LSB-matching, and JPEG-domain hiding are difficult for classical steganalysis. Stegcore does not pretend otherwise.\n\nPer-release detection numbers, measured on public datasets against Aletheia, are published in the [changelog](/The-Malware-Files/Stegcore/blob/main/CHANGELOG.md). You can rerun the analysis on your own files:\n\n```\nstegcore analyse your-images/*.png --json > your-scores.jsonl\n```\n\nStegcore is dual-licensed.\n\n**AGPL-3.0-or-later**: the default. Free for individuals, researchers, open-source projects, NGOs, and anyone willing to release their own derivative source under the same terms. See[LICENSE](/The-Malware-Files/Stegcore/blob/main/LICENSE).**Commercial licence**: for organisations that want to build on Stegcore inside proprietary software, internal tools, or hosted services without the AGPL source-release obligation. See[COMMERCIAL.md](/The-Malware-Files/Stegcore/blob/main/COMMERCIAL.md).\n\nEither licence applies to the same codebase; you pick the one that\nfits your situation. The [Acceptable Use Policy](/The-Malware-Files/Stegcore/blob/main/AUP.md) applies\nregardless of which licence you use.\n\nContact: `ops@themalwarefiles.com`", "url": "https://wpnews.pro/news/show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary", "canonical_source": "https://github.com/The-Malware-Files/Stegcore", "published_at": "2026-06-17 12:43:46+00:00", "updated_at": "2026-06-17 12:52:35.891598+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools"], "entities": ["Stegcore", "Aletheia", "Ascon-128", "ChaCha20-Poly1305", "AES-256-GCM", "Argon2id", "BOSSbase", "ALASKA2"], "alternates": {"html": "https://wpnews.pro/news/show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary", "markdown": "https://wpnews.pro/news/show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary.md", "text": "https://wpnews.pro/news/show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary.txt", "jsonld": "https://wpnews.pro/news/show-hn-stegcore-steganography-and-steganalysis-in-one-rust-binary.jsonld"}}