360 Secure SkillHub
360 安全技能中心

Stegstr

Stegstr 通过 Rust 编写的 stegstr-cli 在 PNG 图片中嵌入或提取隐藏载荷(含 Nostr 事件包),提供 decode、detect、embed、post 子命令,支持加密载荷、从文件或 base64 读取数据;运行时离线、无需注册,但需先 git clone 仓库并用 cargo 构建。

brunkstr
brunkstr
热度 76.89
最近更新 2026-05-11 15:54:29
分类:效率依赖:代码执行 / 读写文件应用场景:文件转换 / 数据处理 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add stegstr
Metadata
name
stegstr
summary
Embed and decode hidden messages in PNG images. Steganographic Nostr client for hiding data in images—works offline, no registration.
description
Decode and embed Stegstr payloads in PNG images. Use when the user needs to extract hidden Nostr data from a Stegstr image, encode a payload into a cover PNG, or work with steganographic social networking (Nostr-in-images). Supports CLI (stegstr-cli decode, detect, embed, post) for scripts and AI agents.
license
MIT
tags
steganography, nostr, images, crypto, integration, file-management, automation, cli
install
{"requirements":"- Rust (latest stable) - https://rustup.rs\n- Git\n","steps":"1. git clone https://github.com/brunkstr/Stegstr.git\n2. cd Stegstr/src-tauri && cargo build --release --bin stegstr-cli\n3. Binary: target/release/stegstr-cli (Windows: stegstr-cli.exe)\n"}
permissions
["filesystem"]
metadata
{"homepage":"https://stegstr.com","for-agents":"https://www.stegstr.com/wiki/for-agents.html","repo":"https://github.com/brunkstr/Stegstr"}

Stegstr

Stegstr hides Nostr messages and arbitrary payloads inside PNG images using steganography. Users embed their feed (posts, DMs, JSON) into images and share them; recipients use Detect to load the hidden content. No registration, works offline.

When to use this skill

  • User wants to decode (extract) hidden data from a PNG that contains Stegstr data.
  • User wants to embed a payload into a cover PNG (e.g. Nostr bundle, JSON, text).
  • User mentions steganography, Nostr-in-images, Stegstr, hiding data in images, or secret messages in photos.
  • User needs programmatic access for automation, scripts, or AI agents.

CLI (headless)

Build the CLI from the Stegstr repo:

git clone https://github.com/brunkstr/Stegstr.git
cd Stegstr/src-tauri
cargo build --release --bin stegstr-cli

Binary: target/release/stegstr-cli (or stegstr-cli.exe on Windows).

Decode (extract payload)

stegstr-cli decode image.png

Writes raw payload to stdout. Valid UTF-8 JSON is printed as text; otherwise base64:<data>. Exit 0 on success.

Detect (decode + decrypt app bundle)

stegstr-cli detect image.png

Decodes and decrypts; prints Nostr bundle JSON { "version": 1, "events": [...] }.

Embed (hide payload in image)

stegstr-cli embed cover.png -o out.png --payload "text or JSON"
stegstr-cli embed cover.png -o out.png --payload @bundle.json
stegstr-cli embed cover.png -o out.png --payload @bundle.json --encrypt

Use --payload @file to load from file. Use --encrypt so any Stegstr user can detect. Use --payload-base64 <base64> for binary payloads.

Post (create kind 1 note bundle)

stegstr-cli post "Your message here" --output bundle.json
stegstr-cli post "Message" --privkey-hex <64-char-hex> --output bundle.json

Creates a Nostr bundle; use stegstr-cli embed to hide it in an image.

Example workflow

# Create a post bundle
stegstr-cli post "Hello from OpenClaw" --output bundle.json

# Embed into a cover image (encrypted for any Stegstr user)
stegstr-cli embed cover.png -o stego.png --payload @bundle.json --encrypt

# Recipient detects and extracts
stegstr-cli detect stego.png

Image format

PNG only (lossless). JPEG or other lossy formats will corrupt the hidden data.

Payload format

  • Magic: STEGSTR (7 bytes ASCII)
  • Length: 4 bytes, big-endian
  • Payload: UTF-8 JSON or raw bytes (desktop app encrypts; CLI can embed raw or --encrypt)

Decrypted bundle: { "version": 1, "events": [ ... Nostr events ... ] }. Schema: bundle.schema.json.

Links