Go · 项目报告

nethical6/conversation-steganography

Use LLMs to hide messages inside normal looking conversations

已完成 打开 GitHub
N
1,064星标
77Fork
1Issue
GPL-3.0许可证

分析结果

项目分析

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