把一个大模型放进长对话里,最先撑不住的不是模型的推理能力,而是上下文被反复压缩后丢掉的那部分指令。hanshuang-codex 这个仓库干的事情很具体:它把「破甲」当成一个可复现的实验来跑,针对 GPT 5.6 和 V4flash 这两个目标,测试提示注入与上下文压缩防护之间的攻防边界。仓库用 Python 写成,MIT 协议,目前 61 颗星,标签里直接写着 jailbreak、prompt-injection、codex-cli、desktop-app——从主题就能看出它不是给终端用户用的成品,而是一套可以自己拉下来跑的实验装置。
它到底在测什么:破甲与压缩防护的拉锯

仓库的功能模块里有一条写得很明确:上下文压缩防护(v1.1 新增)。这条更新值得单独拎出来说。长上下文模型在接近窗口上限时会触发压缩,把早期对话摘要成更短的表示,而很多注入类指令恰恰藏在被压缩掉的那一段里。hanshuang-codex 把防护做在压缩这一层,等于在指令被摘要之前先做一次拦截,而不是等模型已经读到被污染的上下文再补救。
另一侧是破甲本身。仓库提供两个可直接使用的变体:寒霜-flash-v2 和寒霜-变体B-v3-英文。前者是中文语境下的主变体,后者把同一套思路翻成英文,用来对比语言差异对注入成功率的影响。这种「同一机制、两种语言」的对照设计,比只丢一个 payload 出来要有用——它让实验者能判断失败到底是机制问题还是措辞问题。
怎么把它跑起来:从环境到 Release 构建
项目结构里给了快速开始、环境要求、开发模式、Release 构建四条路径,说明作者考虑过两种用法:一种是改代码做实验,一种是直接拿构建产物做验证。开发模式下改完即测,适合反复调 payload;Release 构建则把依赖打包好,省掉每次重装环境的时间。使用方式一节对应的是实际调用,也就是把寒霜变体送进目标模型并观察返回。
它支持 codex-cli 和 desktop-app 两种形态,这点在标签里已经写明。命令行适合批量跑对照实验,桌面端适合单次交互式观察。仓库语言是 Python,意味着要动它基本不需要跨语言工具链,改一个函数就能换一种注入策略。
| 维度 | hanshuang-codex |
|---|---|
| 仓库 | aimeoa/hanshuang-codex |
| 语言 | Python |
| 协议 | MIT |
| Stars | 61 |
| 目标模型 | GPT 5.6、V4flash |
| 内置变体 | 寒霜-flash-v2、寒霜-变体B-v3-英文 |
| 关键更新 | 上下文压缩防护(v1.1 新增) |
| 主题标签 | ai、codex、codex-cli、desktop-app、jailbreak、llm、openai-codex、prompt-injection |
免费档和 $21 档之间差的是什么
先把一件事说清楚:这个仓库本身是 MIT 协议开源的,代码可以自由拉取、修改、自托管,不付钱也能跑。付费档位针对的是配套服务,不是代码本身的使用权。免费版 $0,individual 档同样是 $0,两者在价格上没有差别;真正要掏钱的是 $21 这一档。由于免费档没有列出额度限制,可以判断免费与 individual 的差异不在用量上,而更可能落在身份或授权范围上——个人使用走 $0 即可,$21 档面向的是需要超出个人范畴的场景。对绝大多数只是想复现破甲实验、跑一跑寒霜变体的人来说,$0 档足够;只有当你要把实验结果用于需要授权覆盖的用途时,$21 才成立。按月计费还是按年计费,采集到的信息没有标明周期,这一点不做推测。
它适合谁,不适合谁
适合的是愿意读 Python、能自己搭环境、想搞清楚提示注入在压缩环节怎么失效的人。仓库把变体、防护、构建方式都摆出来了,61 颗星说明它在一个不大的圈子里被看见,MIT 协议又允许你直接把它嵌进自己的测试流程。不适合的是想要一个开箱即用、点几下就出结果的工具的人——它没有面向非开发者的界面,desktop-app 也只是实验形态,不是产品形态。拿它当安全评估的对照基线可以,拿它当生产环境的防护方案则超出了这个仓库的定位。
FAQ:常见问题
hanshuang-codex 是免费的吗?
代码本身是 MIT 协议开源的,可以免费拉取、修改和自托管。付费档位针对配套服务,免费版 $0、individual 档也是 $0,$21 那一档面向超出个人范畴的用途。
它支持哪些模型?
仓库简介写明针对 GPT 5.6 和 V4flash 做破甲实验。内置寒霜-flash-v2 和寒霜-变体B-v3-英文两个变体,分别对应中文和英文语境。
