CyberChef:一个情报机构的“副业”,怎么就成了安全圈的日常工具
2014年,英国政府通信总部(GCHQ)的一名分析师遇到了一个很实际的问题:他每天要处理的数据格式五花八门,Base64、十六进制、压缩包、各种字符编码混在一起,为了每一次数据转换都写一个小脚本,实在太浪费时间了。他开始在内部找有没有现成的工具能解决这个问题,结果发现几乎没有。于是,在GCHQ允许员工用10%工作时间做创新项目的制度下,他自己动手写了一个网页应用。
这个东西后来被叫做CyberChef。

2016年11月,GCHQ以Apache 2.0许可证将CyberChef完全开源。到今天,它的GitHub仓库已经积累了超过3.5万颗Star,累计独立用户超过140万,每月活跃用户7.5万以上,在全球几乎所有国家都有人在使用。一个情报机构内部的小工具,变成了安全分析师、CTF选手、甚至普通开发者的日常装备。
它不是“一键解密”,而是一条你亲手搭的流水线
很多在线加解密工具的用法是:粘贴密文,选算法,填密钥,点解密,看结果。CyberChef不太一样。
打开cyberchef.org,你会看到四个区域并排排列:左边是操作列表(Operations),中间是配方区(Recipe),右上是输入区(Input),右下是输出区(Output)。这个界面布局本身就在告诉你它的设计思路——不是让你选一个功能然后执行,而是让你把多个操作串成一条流水线。
举个最简单的例子。你有一段数据,先做了Base64编码,外面又包了一层十六进制,最后还做了GZip压缩。用普通工具,你得先转十六进制、再解码Base64、再解压,三步分开做。在CyberChef里,你把“From Hex”、“From Base64”、“Gunzip”三个操作依次拖进配方区,输入区粘贴数据,输出区立刻显示最终结果。中间任何一步的参数改一下,整条链的结果会实时刷新。
这就是CyberChef最核心的东西:配方(Recipe) 。每一个操作都是对数据的一次变换,多个操作串联起来,就形成了一条完整的数据处理管线。操作之间可以设置断点,暂停执行来查看中间状态;也可以临时禁用某个步骤,观察它对最终结果的影响。
左边面板里到底有多少东西
打开操作列表,你会发现它的覆盖面远超“加密解密”这个标签。操作按类别分组,支持搜索,粗略数一下有300多种。
编码解码是最常用的基础操作。Base64、Base32、Base85、Hex、URL编码、HTML实体、Unicode转义,这些几乎每天都会用到。值得一提的是Base64的处理,CyberChef不仅支持标准的“To Base64”和“From Base64”,还提供“To Base64 URL safe”和“Show Base64 offsets”这类偏门选项,后者可以显示编码后数据在原始数据中的字节偏移。
加密算法方面,对称加密覆盖AES、DES、Blowfish、RC4,非对称加密支持RSA,哈希计算有MD5、SHA-1/2/3、CRC系列。AES操作可以配置密钥长度、模式(CBC、CTR、GCM等)、IV和附加认证数据,参数粒度足够应对大多数实际场景。
数据处理的操作可能是被低估最多的一类。正则表达式匹配、字符串替换、CSV解析、JSON美化、十六进制转储、字节切片、字符编码转换——这些看起来不“酷”的功能,在实际工作中出现的频率其实比加密解密高得多。还有IPv6地址解析、X.509证书解析、时间戳转换这类偏网络和运维的操作,也都内置了。
压缩解压支持Gzip、Bzip2、Zip和Tar。配合编码操作使用,可以处理“压缩后再编码”这类常见的嵌套数据。
Magic按钮和断点调试:两个真正省时间的功能
操作列表里有一个叫“Magic”的操作,它的作用很简单:你不知道该怎么处理一段数据的时候,点一下它。
Magic会分析输入数据,尝试识别可能的编码或加密方式,然后自动推荐一组操作。它不一定每次都对,但在面对多层编码的数据时——比如Base64套Hex再套GZip——它能帮你省掉手动试错的时间。输出区左上角还有一个魔棒图标,点一下也会触发类似的自动检测流程。
另一个容易被忽略但很实用的功能是断点调试。在配方区的某个操作上点击,可以把它设为断点。执行到这一步时,配方会暂停,输出区显示的是该步骤之前的中间结果。对于排查“到底是哪一步出了问题”的场景,这比反复增删操作要高效得多。
它最被信任的一点:什么都不发出去
CyberChef的架构设计有一条底线:所有计算都在浏览器本地完成,输入的文本或文件不会以任何形式发送到服务器。GCHQ的匿名开发者在接受采访时专门解释过这一点:“我们理解在网络安全行业,人们处理的数据往往涉及商业或个人敏感信息,所以把全部处理放在本地运行对我们来说非常重要。”
这个设计意味着几件事。第一,你可以放心地把恶意样本的代码片段、客户数据的哈希值、甚至内部系统的日志粘贴进去,不需要担心数据泄露。第二,你可以断网使用——把网页保存下来,或者用Docker在本地跑一个实例,之后完全离线操作。
如果你需要在内网环境部署,一行Docker命令就够了:
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
然后访问 localhost:8080 就能用。
真实场景里,它到底怎么用
把CyberChef说成“安全工具”其实有点窄了。它的使用场景比标签本身要宽。
恶意样本分析是它最经典的应用之一。安全分析师拿到一段混淆过的PowerShell脚本或ShellCode,通常需要经过多层解码才能看到真实逻辑。CyberChef的配方机制让这个过程变得直观:一个操作接一个操作地拆,每拆开一层就能看到中间结果,遇到断点还能暂停下来仔细看。清华大学出版社甚至专门出过一本《零基础入门CyberChef分析恶意样本文件》,用10个章节的篇幅讲怎么用它分析BAT批处理、PowerShell、Cobalt Strike、VBS、ShellCode、JavaScript和WebShell等不同类型的样本。
CTF竞赛里CyberChef几乎是标配。编码题、密码学题、隐写题,一个浏览器标签页就能覆盖大部分数据处理需求。很多CTF选手会把自己常用的操作链保存为配方,下次遇到类似题目直接加载。
开发调试场景也很常见。API返回的响应被URL编码了,日志里的JSON被压缩成了Base64,时间戳需要转成可读格式——这些琐碎的转换在CyberChef里都能在几秒内完成。相比临时写一个Python脚本或者在命令行里拼管道,拖拽操作的速度确实快很多。
它不是什么
CyberChef的定位需要说清楚。它是一个数据处理工具,不是密码分析工具。
如果你面对的是未知算法、未知密钥的加密数据,CyberChef帮不了你。它不会“破解”任何东西。它的价值在于:当你知道数据经过了什么处理(或者猜得到),它能让你快速验证和还原。Magic操作有一定的自动检测能力,但它本质上是在尝试已知的编码和压缩格式,不是在破解未知加密。
另一个被反复提到的问题是学习曲线。300多个操作排列在左侧,第一次打开界面确实有点不知所措。配方区的概念也需要一点时间适应——如果你只是想把一段文字转成Base64,用CyberChef确实有点“用坦克去买菜”的感觉。浏览器控制台的 btoa() 或者一个简单的在线Base64工具,完成同样的任务会更快。
CyberChef真正不可替代的地方,恰恰是那些单一步骤解决不了的问题:多层嵌套编码、需要链式操作的复杂数据处理、需要在多个步骤之间检查和调试的场景。
2026年的它
CyberChef仍在持续更新。2026年7月发布的11.3.0版本修复了一个客户端CPU耗尽漏洞(CVE-2026-72912),该漏洞允许攻击者通过构造恶意的配方URL片段,让浏览器标签页在启动时卡死数秒甚至更久。这个漏洞本身不影响数据安全(没有代码执行或数据泄露风险),但它提醒了一个事实:即使是完全客户端运行的工具,也有自己的攻击面。
更早的11.0.0版本还修复过一个通过“Show Base64 offsets”操作触发的XSS问题。这些修复记录说明CyberChef的维护是活跃的,安全团队在持续跟进。
从2014年一个分析师的副业项目,到2026年全球安全从业者的日常工具,CyberChef的故事本身就是一个关于“解决自己的问题”如何产生广泛影响的案例。它没有花哨的UI,没有AI包装,甚至界面看起来有点工程师审美。但它做的事情很实在:把你每天重复的那些数据转换操作,变成一条可以搭建、可以调试、可以保存和分享的流水线。
本站收录的CyberChef相关链接均来源于网络,仅供参考。本站不保证其准确性、完整性,也不控制其指向及内容。该链接于2026年9月17日 下午5:08收录,收录时内容合规合法;若后续出现违规,请联系管理员删除!COONAV电商运营导航不承担相关责任。

桂公网安备45112102000027号