【生活娱乐赛道】影嵌 STEGO — 图片隐写实验室

【标签】生活娱乐

【标题】【生活娱乐赛道】影嵌 STEGO — 图片隐写实验室

0. 先和大家打个招呼吧

我是一名高中生,从小就对信息安全感兴趣,喜欢看黑客相关的内容(当然也看了不少营销号的吹嘘)。接触隐写术的契机其实挺偶然的——有次在B站评论区点开一张图片,画面突然变了,吓了我一跳,后来才知道那叫"幻影坦克"。从那以后我就开始关注图片隐写这个领域。

在 TRAE 还没出来的时候,我用电脑版豆包做过一个综评图片处理器,在那过程中学了不少图像处理算法。后来 TRAE 上线后,我就想:能不能把散落在各种网站上的隐写算法整合到一个工具里?以前在社交平台上看大家分享相关内容,总是需要来回切换不同网站,每个网站的算法还不一样,根本没法顺利完成操作,特别让人失落。

于是就有了影嵌。

整个开发过程持续了大约五六天。电脑开着没关过,大部分时间是 agent 在自己跑。我负责拆需求、定方向、审查结果,TRAE 负责把我的想法变成代码。最让我觉得"原来这么简单"的是:我只需要把每个模式该长什么样、用户操作后该发生什么讲清楚,TRAE 就能帮我补全 HTML、CSS 和 JS 逻辑。但真正让我觉得跨过了一个坎的,是统一识别头系统的开发——我需要让工具能自动检测图片用了哪种隐写方法,这涉及 7 级级联检测逻辑,原本以为远超我的能力,但通过多轮对话拆解、配合 TRAE 的多 Agent 并行能力,最终把它跑通了。

1. Demo 简介

是什么:

影嵌 STEGO 是一个多算法整合的中文图片隐写工具,单 HTML 文件,双击即可运行,无需安装任何环境,所有运算在浏览器本地完成,数据不离开设备。

面向谁:

  • 想把秘密图片藏在普通图片里发给朋友、玩整蛊社交的普通用户

  • 需要批量处理、选择算法、加密保护的进阶用户

  • 需要精细控制嵌入参数、隐写分析自检的专业用户和 CTF 选手

主要功能:

  1. 多算法隐写 — 6 种隐写算法(LSB 顺序/随机/LSB-M、PVD、位深嵌入、Append、EXIF),覆盖主流隐写方式

  2. 图藏图 + 混淆 — 3 种图藏图方法(幻影坦克、光棱坦克、JPEG 拼接)+ 6 种混淆算法(Gilbert 曲线、蛇形、Z 序、块置乱、RGB 通道、行打乱)

  3. 自动识别 + 隐写分析自检 — 原创的统一识别头系统 + 7 级级联自动检测,拖入图片即可光速自动判断隐写方法并提取;另有 RS 分析、卡方分析、PSNR/SSIM 质量评估

4.有点多,可以自行摸索体验,我自认为用户体验优化做的还算是比较好的。以下是一些演示。

极简模式快速使用流程【自动算法选择+自动识别提取(采用自创识别体系)】:backhand_index_pointing_down:

专家模式部分演示【“操作+密码转密钥串”自动密钥,自动风险监测(这个还没完全做好)】:backhand_index_pointing_down:

PS:还可以换色,我上B站挑了几种高级感颜色 :innocent: :innocent: :innocent: 。还有一些自己研发的原创(反正没借鉴别人的)算法没成熟,BUG没踢完,不好放进来,在其他地方开发,链接我挂这了:https://image-coder-d6gocwsluf59859f1-1411491252.tcloudbaseapp.com/

这个算法主要针对QQ,微信的隐秘传图,一张表图最多叠16张里图,而且绝无里图泄密可能。

维度 数据
文件大小 单 HTML 文件,约 500KB
功能模式 极简 / 常规 / 专家 三级主模式
隐写算法 6 种
混淆算法 6 种
图藏图 3 种
加密 AES-256-GCM、ChaCha20-Poly1305
纠错 Reed-Solomon ECC (GF(256))
隐写分析 RS分析、卡方、直方图、PSNR、SSIM
原创功能 统一识别头 + 7级自动检测
部署方式 零部署,双击 HTML 即可运行

2. Demo 创作思路

灵感来源:

一切始于B站评论区的一次"惊吓"——点开一张图片,画面突然变了。后来知道那叫幻影坦克,就开始研究图片隐写。在研究过程中我发现,做隐写相关的操作需要来回切换不同网站,每个网站的算法不一样、参数也不一样,有的还需要手动调整,整体体验特别差。后来用豆包做了综评图片处理器,学了不少图像处理算法,就想着:能不能自己做一个整合工具?

想解决的问题:

做隐写操作时,用户面临的真实痛点:

痛点 具体感受
来回切换网站 想做不同的隐写操作得开好几个网站,每个网站算法不同、参数不同
手动调参 一些幻影坦克网站还需要手动调参数,调不好效果就不对
门槛高 大部分工具是英文命令行,面向 CTF 选手,普通人根本不会用
不知用了哪种算法 用不同方法嵌入后,提取时需要记得用了哪个,容易搞混
无中文产品 国内几乎没有中文界面、支持图藏图的隐写工具

为什么做这个方向:

因为隐写术有一个加密无法替代的价值:加密保护的是内容,但暴露了"这里存在秘密"这一事实;隐写术隐藏的是秘密的存在本身——看起来就是一张普通的图片,谁也不会怀疑里面藏着东西。

单文件 HTML 的选择是出于两个考虑:一是零部署,用户双击就能用;二是隐私安全,所有运算在本地完成,图片不上传到任何服务器。

3. Demo 体验地址

影嵌.html (501.7 KB)

这还有压缩包,以防万一:

影嵌.zip (112.9 KB)

下载后解压,双击 HTML 文件即可在浏览器中打开。推荐 Chrome 或 Edge。

4. TRAE 实践过程

整个影嵌从架构设计到算法实现,全部在 TRAE Work 中完成,历时约五六天。

开发中用到的 TRAE 能力

多 Agent 并行: 在进行大范围重构时,我会让 TRAE 调用 sub agent 并行处理。印象最深的是刚开始拆分极简模式和常规模式的时候,以及后来添加专家模式的时候——我会直接让 TRAE 用 subagent,它会自行拆分任务并行处理。

TRAE Skills: 开发过程中用到了以下 Skill:

  • brainstorming — 创意发散和方案讨论

  • writing-plans — 编写开发计划

  • executing-plans — 执行开发计划

  • frontend-design — 前端界面设计

  • test-driven-development — 测试驱动开发

  • webapp-testing — 全面审查功能完整性、算法校验

  • dogfood — 产品自测

  • agent-browser — 浏览器自动化测试

这是调用sub coding agent并行任务的截图,并在我没有要求的情况下自己生成了一份校验报告!挺惊讶的。这个session应该是下面第四条第一个。
校验报告.html (48.3 KB)

AI 生成核心代码、调试并修复过程,自动识别系统开发 — 统一识别头和 7 级自动检测的开发过程,下面的session里应该都有,这里只展示一部分了。

关键任务 Session ID

序号 任务描述 用到的 TRAE 能力 Session ID 时间
1 识别头系统 当时没想到用SKILLS 1989482053112023:c83e6542442cc2081e31974ca023f2b7_6a4fd60565f7a9a61f3e7753.6a53351d65f7a9a61f3ea4b9.6a53351c65f7a9a61f3ea4b7:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 14:33:01)
2 大文件支持 Skills,自主迭代 1989482053112023:8b9f5527b3e48e17fa424c9d9d9e725f_6a4fd60565f7a9a61f3e7753.6a5346c2873447ad72a659a8.6a5346c1873447ad72a659a6:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 15:48:18)
3 专家模式功能完善 自主规划 1989482053112023:6445a8eab540c2a7b3b42089240e4dbb_6a4fd60565f7a9a61f3e7753.6a5273d665f7a9a61f3ea012.6a5273d665f7a9a61f3ea010:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 00:48:22)
4 功能审查 + 算法校验 + bug修复 Skills: webapp-testing, dogfood, agent-browser等等,同时还有多Agent并行 1989482053112023:8d222b5fc5ef3a7926990a7f6ee0d878_6a4fd60565f7a9a61f3e7753.6a56765f873447ad72a68f74.6a56765f873447ad72a68f72:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/15 01:48:15) 1989482053112023:9ce1517b6007d668510296629da37c67_6a4fd60565f7a9a61f3e7753.6a5415b1873447ad72a67653.6a5415b1873447ad72a67651:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/13 06:31:13) 1989482053112023:4eced53d7d2a8cc30b23741f4f913723_6a4fd60565f7a9a61f3e7753.6a536ebf873447ad72a661a2.6a536ebe873447ad72a661a0:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 18:38:55) 1989482053112023:ff67d29d39dcf27548cc99e84b631017_6a4fd60565f7a9a61f3e7753.6a536585873447ad72a65fe0.6a536585873447ad72a65fde:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 17:59:33) 1989482053112023:0b972e0afc09690d2dfbbff42d4b6a79_6a4fd60565f7a9a61f3e7753.6a534b24873447ad72a65b51.6a534b23873447ad72a65b4f:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/12 16:07:00)

哦对了,推荐语音交流功能,很便捷。后面我进行三模式大改的时候,因为想说的东西太多,就用了这个。1989482053112023:b86c51a979be8958a6253db043817d21_6a4fd60565f7a9a61f3e7753.6a522aaa65f7a9a61f3e9673.6a522aaa65f7a9a61f3e9671:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/11 19:36:10)

1989482053112023:a835ad5c9fc5f01eb13ea28b09cea488_6a4fd60565f7a9a61f3e7753.6a522f5f65f7a9a61f3e96da.6a522f5f65f7a9a61f3e96d8:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/11 19:56:15)

1989482053112023:3818503af689ff5644531f1c5a902f55_6a4fd60565f7a9a61f3e7753.6a52332165f7a9a61f3e9775.6a52332165f7a9a61f3e9773:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/11 20:12:17)

以下是那次三模式架构大改的session:

1989482053112023:236fe9e37b0fecf8f94cb90f2c1c766a_6a4fd60565f7a9a61f3e7753.6a52358465f7a9a61f3e9780.6a52358465f7a9a61f3e977e:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/11 20:22:28)

1989482053112023:a4cc96621465270c29c7249d81ce8142_6a4fd60565f7a9a61f3e7753.6a523f4265f7a9a61f3e97f9.6a523f4265f7a9a61f3e97f7:TRAE Work CN.0.1.34.no_sid.no_ppe.T(2026/7/11 21:04:02)

还有很多,具体的就列这些了,我感觉我在开发的时候也是在同步学习和进化的,后来自己发现能用SKILLS就用了。:grinning_face:

开发踩坑与经验

混淆头解码失败: 混淆功能一开始 bug 特别多,老是解码失败。后来我改变了策略——先用 Gilbert 曲线把整个流程跑通、稳定了之后再加其他算法。这个"先跑通一个再扩展"的思路救了我很多时间。

两个坦克的解码问题: 幻影坦克和光棱坦克的解码也有不少 bug,涉及到亮度通道和 alpha 通道的数学运算,参数对不齐就会解不出来。通过多轮调试才搞定。

统一识别头的灵感: 这个想法是在和 AI 讨论的过程中产生的。当时我看到了 AI 的思考过程,里面提到了可以添加验证码的想法,我瞬间就想到了身份证号——可以给每一个隐写模式配上一个类似身份证号的统一识别头和专属身份码,这样就能快速实现自动识别和分类了。最终设计成了 8 字节 × 3 重复 = 192 位,带 CRC8 校验和多数表决的格式。

多 Session 协作: 把不同功能模块拆成不同对话,每个对话只聚焦一个目标,AI 的上下文更集中,产出质量更高。不过最开始的那个对话因为时间太长、内容太多,上下文被压缩了,早期内容已经找不回来了。

5. 对应的报名审核通过的帖子链接

帮助大家更好的享受社区、平台的友善发图整蛊氛围,提供优秀的隐写,藏图等的整合工具包。 - TRAE AI 创造力大赛 / 【大赛报名专区】 - TRAE 官方中文社区


附:未来规划

影嵌是一个长线产品。后续规划包括:

  • 真正的频域隐写算法(J-UNIWARD、nsF5、UERD 等 JPEG DCT 系数修改)

  • 自适应隐写(S-UNIWARD、HILL 等基于代价函数的空域算法)

  • 深度学习隐写(HiDDeN、SteganoGAN 等 GAN-based 高容量算法)

  • 试验模式:新增实验性算法的主模式层级

  • 移动端优化(已经做了一部分了)

只要是前沿的算法都可以加进去。我希望让更多人接触到这些技术,同时也能锻炼自己的落地应用能力。完整的开发需求文档已在开发过程中整理完成,将在复赛阶段指导后续开发。

PS:【不是,大家能不能看到图啊?:cold_face: 我的待处理区的帖子预览怎么显示不出图?】

我去,有点说法啊,LSP狂喜

很有创意 , 已投票。麻烦帮帮我给我的作品投一票,互相支持支持吧

好厉害!我都没想到还能这样!

已投票~也来我的帖子投票留言互动吧~
为听障人士做的公益AI服务员
AI服务员-无声有市:一部手机,让无声摊位也能开口接单