Stegstr

🖼️ PNG隐写术·Nostr消息加密

Nostr隐写术CLI工具,将加密消息嵌入PNG图片,支持离线解码/编码,MIT开源

收藏
8.5k
安装
1.8k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Stegstr 是一款基于 Rust 的隐写术 CLI 工具,专门用于在 PNG 图片中嵌入和提取 Nostr 协议消息。核心功能分为四大命令:

  • decode: 从 PNG 提取原始隐写载荷(stdout 输出)
  • detect: 解码并自动解密 Stegstr 应用包(输出 JSON)
  • embed: 将文本/JSON/文件嵌入封面图片,支持 --encrypt 加密和 --payload-base64 二进制模式
  • post: 生成 Nostr kind-1 笔记包,可链式嵌入图片

典型工作流:post 创建签名消息 → embed 加密嵌入图片 → 社交分享 → detect 自动解密还原。格式要求严格:仅支持无损 PNG,JPEG 会导致数据损坏。载荷结构为 STEGSTR 魔数 + 4 字节大端长度 + 实际数据。

显著优点

1. 零注册架构:完全离线运行,不依赖任何中心化服务器
2. 协议原生支持:深度集成 Nostr 去中心化社交网络,事件格式符合 NIP-01 标准

3. 自动化友好:CLI 设计专为脚本和 AI agent 优化,输入输出支持管道化操作

4. 透明可信:MIT 许可证 + 开源 Rust 实现,无闭源加密组件

5. 跨平台:单二进制文件,Windows/Linux/macOS 均可编译

潜在缺点与局限性

  • 格式限制死锁:仅接受 PNG,无法处理 WebP/AVIF 等现代格式,JPEG 直接不可用
  • 容量瓶颈:隐写容量受限于图片像素数,大消息需要大尺寸图片
  • 无隐写分析抵抗:LSB 隐写技术可被统计分析检测,不提供"不可检测性"保证
  • 密钥管理空白:CLI 示例硬编码私钥 hex,无安全密钥托管或派生机制提示
  • 依赖编译环境:需完整 Rust toolchain,非开箱即用

适合人群

  • 技术极客与隐私倡导者:需要绕过传统社交监控的通信渠道
  • Nostr 生态开发者:构建"图片即消息"的新型客户端
  • 自动化工作流工程师:CI/CD 场景下的密钥分发或配置隐藏
  • 数字版权研究者:隐写术原理学习与 PoC 验证

常规风险

| 风险类型 | 具体表现 |
|---------|---------|
| 数据永久丢失 | 用 Photoshop/社交平台压缩后上传,PNG 转 JPEG 导致隐写数据不可逆损坏 |
| 密钥泄露 | 终端历史记录留存 `--privkey-hex` 参数,shell 日志或进程列表暴露 |
| 社交工程 | 接收方需安装同版本 CLI,版本差异可能导致解密失败 |
| 流量分析 | 异常尺寸 PNG 文件或固定上传模式可能被标记为可疑通信 |
| 编译供应链 | 从 GitHub 直接 clone 构建,未验证 release 签名,存在仓库劫持风险 |

Stegstr 内容

手动下载zip · 4.4 kB
install.shtext/x-shellscript
请选择文件