conversation-steganography 是一个用 Go 编写的命令行概念验证工具,利用本地 LLM 将加密后的秘密消息编码进看起来正常、自然的聊天文本中,从而通过 WhatsApp、Telegram、Signal、iMessage、邮件等普通通信渠道传递隐藏信息。项目核心流程是:用户输入明文消息,工具使用 AES-SIV 加密,再通过本地 AI 模型在生成文本的 token 选择中嵌入密文;接收方使用相同模型、相同配置和共享口令解码并解密。项目强调本地运行、不调用云端 API、共享密钥不落盘,并提供单机双人模拟、交互式聊天、链式消息校验等功能。该项目更适合作为 LLM 隐写术、隐私通信和安全研究的实验项目,而不是成熟的生产级通信系统。
适用领域
信息安全 / 隐写术 / LLM 应用 / 隐私通信 / 加密通信 / 本地 AI 推理 / 命令行工具 / 安全研究 / 反审查技术研究
配置难度
中高。普通 Go 开发者可以较容易完成编译和命令行运行,但要稳定使用需要理解本地 LLM 推理环境、模型一致性、密钥协商、消息链同步和隐写编码机制。若要修改核心算法或用于研究检测/对抗,则需要具备密码学、自然语言处理和安全工程背景。
商业价值
该项目的直接商业化价值有限,因为它是 GPL-3.0 许可的研究型 PoC,且隐私规避和隐写通信方向具有明显合规敏感性。但它在安全研究、AI 安全评估、隐写检测产品、企业数据泄露检测、消息平台风控、反滥用研究和隐私技术教育方面具有较高参考价值。对于中国开发者而言,更适合作为学习 LLM 隐写术和本地模型安全应用的研究样例,而不是直接集成到生产通信产品中。
01
技术亮点
- 使用本地 LLM 生成自然语言 cover text,不依赖云端 API。
- 明文消息先经过 AES-SIV 认证加密,再嵌入生成文本,具备机密性与完整性保护。
- 共享口令通过 PBKDF2-HMAC-SHA-256 进行 600,000 轮派生,降低弱口令直接暴露风险。
- 消息采用 conversation chain,每条消息与前序消息哈希、发送者、会话 ID、消息索引绑定,可检测篡改、删除和重排。
- 提供 setup wizard,能自动选择/下载模型并创建本地配置,降低首次使用门槛。
- 支持单机双人 simulate 模式,便于开发者快速验证编码、传输、解码全流程。
- 支持多种模型后端,包括 Apple Silicon 上的 MLX 和通用 Transformers。
- 项目适合研究 LLM 隐写术、防检测、隐写检测和安全对抗场景。
- README 对安全模型、使用流程、限制和注意事项说明较完整。
02
目标用户
- 对隐写术和加密通信感兴趣的安全研究人员
- 研究 LLM token-level 编码与解码机制的开发者
- 关注隐私通信、端到端加密和消息审查规避的技术人员
- 学习 Go、Python、本地模型推理集成的开发者
- 高校或实验室中研究自然语言隐写、AI 安全、内容检测的学生和研究者
- 希望构建 PoC 或 demo 展示 LLM 隐写能力的团队
03
配置要求
- Go 1.22+ 用于从源码构建。
- Python 3.9+ 用于运行本地模型推理环境。
- Apple Silicon 设备推荐使用 MLX runtime,例如 Llama 3.2 3B/1B/3.1 8B 4-bit 模型。
- 非 Apple Silicon 或通用环境可使用 Transformers runtime,例如 GPT-2 或 GPT-2 Medium。
- 需要足够磁盘空间下载模型:GPT-2 约 500MB,GPT-2 Medium 约 1.5GB,Llama 3.2 3B 约 2GB,Llama 3.1 8B 约 5GB。
- 双方必须使用完全相同的模型、模型版本、runtime 和配置,否则解码可能失败。
- 双方必须共享同一个 secret phrase,建议 6 个以上随机单词。
- 双方必须使用相同 conversation name。
- 消息必须按顺序处理,不能遗漏、重排或修改。
- cover text 必须逐字节复制粘贴,不能被聊天软件自动修正、格式化、替换智能引号或删除空白。
- 默认本地配置文件为 conversation-stenography.local.json,也可通过 CONVERSATION_STENOGRAPHY_CONFIG 指定。
- 可用环境变量包括 CONVERSATION_STENOGRAPHY_SECRET、CONVERSATION_STENOGRAPHY_KEY、CONVERSATION_STENOGRAPHY_MODEL、CONVERSATION_STENOGRAPHY_PYTHON、CONVERSATION_STENOGRAPHY_RUNTIME。
04
适用场景
- 演示如何将加密消息隐藏在自然语言聊天文本中
- 研究基于 LLM 的隐写术编码、解码和检测方法
- 测试不同本地语言模型在隐写文本生成中的稳定性和自然度
- 构建隐私通信、反审查、内容检测对抗相关的实验环境
- 教学场景中展示 AES 加密、密钥派生、消息链校验、本地模型推理等概念
- 安全团队用于评估消息平台中自然语言隐写内容的潜在风险
05
部署与配置
- 安装 Go 1.22 或更高版本。
- 安装 Python 3.9 或更高版本。
- 克隆仓库:git clone https://github.com/nethical6/conversation-stenography.git
- 进入目录:cd conversation-stenography
- 编译命令行程序:go build -o conversation-stenography ./cmd/conversation-stenography
- 首次运行:./conversation-stenography
- 按照交互式 setup wizard 选择 AI 模型,程序会自动下载模型并创建本地配置文件。
- 可选:运行 ./conversation-stenography simulate 在一台设备上模拟 Alice/Bob 双方通信。
- 正式使用时,双方需要约定相同的 conversation name、共享 secret phrase、相同模型和相同配置。
- 发送消息时在 CLI 中输入明文,复制生成的 cover text 到任意聊天软件;接收时使用 /paste SENDER 粘贴对方发来的 cover text 进行解码。
06
风险与注意事项
- 项目明确是 Proof of Concept,不应视为成熟、安全、可大规模部署的通信工具。
- LLM 隐写文本可能被专门的检测技术识别,README 也提示已有技术可分析文本中是否存在隐藏内容。
- 双方必须使用完全相同的模型和配置,实际跨设备同步成本较高。
- 任何自动纠错、富文本格式化、消息截断、换行变化、智能标点替换都可能导致解码失败。
- 消息必须严格按顺序处理,实际聊天场景中容易因遗漏、并发发送或平台排序差异造成状态不同步。
- 使用该类技术可能在部分地区或平台触犯法律、监管要求或服务条款,存在合规风险。
- GPL-3.0 许可证对二次分发和闭源商业集成有较强约束,商业使用前需评估开源合规。
- 依赖本地模型推理,低性能设备上可能生成速度慢、资源占用高。
- 安全性依赖共享口令强度,如果口令过弱,仍可能被暴力破解。
- 隐写通信工具存在被滥用风险,例如规避合法审计、违法通信或恶意协作。
2026-07-24
第2名
新收录 · github_search
2026-07-23
第4名
新收录 · github_search
2026-07-22
第6名
新收录 · github_search
2026-07-21
第5名
新收录 · github_search
2026-07-20
第8名
新收录 · github_search
2026-07-19
第13名
新收录 · github_search