CyberChef

关注
义项:网络数据编解码工具
CyberChef

CyberChef是英国政府通信总部(GCHQ)开发并开源的一款浏览器端数据处理工具,通过将编码、加密、压缩、哈希等操作按顺序组合成“配方”(Recipe)来完成数据转换,因而被称为“网络瑞士军刀”。它完全在浏览器本地运行,输入内容和配方不会发送到服务器,常被安全分析师、开发者和参赛选手用于解码未知数据、分析恶意脚本和排查接口问题。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

CyberChef是一款在网页浏览器中运行的数据处理应用,用于执行各种与网络相关的操作。这些操作包括XOR、Base64等简单编码,AES、DES、Blowfish等较复杂的加密,生成二进制与十六进制转储,数据压缩与解压缩,计算哈希与校验和,解析IPv6与X.509,以及转换字符编码等[1][2]。

该工具的设计目标是让具备或不具备技术背景的分析人员都能以较复杂的方式处理数据,而不必直接面对复杂工具或算法[2]。它把一系列操作按顺序串联起来,这种操作链在工具中称为“配方”(Recipe),配方可以保存、加载和分享[1]。

CyberChef由英国政府通信总部(GCHQ)开发和维护,并以开源方式发布。因其功能覆盖面广,它常被称作“网络瑞士军刀”[2]。

原理

CyberChef的界面由4个主要区域组成:右上角的输入框用于粘贴、输入或拖入待处理的文本与文件;右下角的输出框显示处理结果;最左侧是按类别排列、可搜索的操作列表;中间的配方区用于放置操作并设置参数[3]。用户把操作拖入配方区后,数据自上而下依次经过每个操作,前一步的输出成为后一步的输入[4]。

配方中可设置断点,使执行在某个操作前暂停,也可以逐个操作单步执行,观察每一步之后数据的变化[3]。开启“Auto Bake”后,输入或配方一经改动就会立即重新计算并给出输出,输入体积很大影响性能时也可关闭该功能改为手动执行[3]。

面对未知编码的数据,可以使用Magic操作推测其编码方式及可用于还原的操作组合[5]。Magic先用正则表达式匹配Base64、十六进制、Gzip等具有固定结构的数据,对被匹配到的操作做试探性执行,再对每个分支的输出打分,判断其是否像有效数据[6]。打分依据包括是否出现文件格式的魔数、是否为合法UTF-8、香农熵的高低,以及与多语言维基百科文本字节频率的Pearson卡方拟合程度[6]。

Magic支持多层递归,可逐层剥开被多次编码的数据,递归层数由Depth参数控制[6]。开启Intensive模式后,还会对单字节XOR、比特循环移位和字符编码进行穷举尝试,为控制耗时,这一穷举只针对数据的前100字节[7]。除作为独立操作外,输出变化时CyberChef也会在后台线程自动运行Magic,若发现可能有用的操作就在输出区显示图标[6]。

发展历程

CyberChef最初并非正式立项的产品,而是2014年由GCHQ一名分析师在寻找自动化数据操作工具的过程中开始编写的[8]。该工具由这名分析师在其10%的创新时间里构思、设计、编写并逐步改进[2]。

工具建成后先在GCHQ内部以及英国其他机构和合作方之间分享。由于使用广泛,陆续有分析人员提出希望把工具提供给业界、学生和企业使用,开发者因此开始考虑公开代码。

2016年11月,GCHQ以Apache 2.0许可证将CyberChef的代码完全开源,并在发布时邀请开发者社区为工具改进做出贡献[2]。开源发布时,GCHQ表示该工具运行于Chrome和Firefox,并预计贡献者很快会让它也能在Microsoft Edge上运行[2]。

GitHub项目版本说明显示,不同时期的操作数量有所不同:较早期的文档提到超过300种操作,后来的介绍中则出现约440种和超过500种的说法[6]。工具本身仍在持续开发,项目说明中明确其并非完成品,测试、缺陷修复、新功能和文档工作都还在进行[3]。

应用

在网络安全与恶意代码分析中,CyberChef用于对混淆或多次编码的载荷逐层还原。恶意脚本中的载荷往往被编码或压缩多次,利用配方串联相应操作可以逐层解开,从而看清原始内容[9]。

开发者用它调试接口的请求与响应,检查令牌、编码数据和各类格式转换是否符合预期[10]。工具的操作列表中包含多种编码、加密、压缩、哈希与解析类操作,如Base64、URL、十六进制编码,AES、DES、RSA解密,MD5、SHA-256等哈希计算,以及JSON、XML、YAML格式化和正则匹配提取等[11]。

在CTF等竞赛与逆向练习中,参赛者用它快速处理编码与加密题目、提取隐藏信息。此外,它也被用作教学工具,用来演示密码学、编码和数据处理的基本原理。

部署方式上,CyberChef既可直接在浏览器中访问在线版本,也可下载单文件版本在本地或隔离环境中使用,还可以通过Docker容器自行部署[3]。配方可导出为链接或配置文本,便于在团队内复现和传递处理流程[11]。

局限

项目文档对加密操作给出了明确提示:CyberChef中的密码学操作在任何情况下都不应被依赖来提供安全性,其正确性也不作保证,并建议不要在真实场景中使用由CyberChef生成的密钥。这些说明表明,该工具适合实验和数据处理,并不适合承担安全关键用途。

编码与加密是两回事,Base64等编码的输出并不提供机密性,哈希也不等同于可逆加密[12]。因此在判断数据是否被解密成功时,需要先确认算法、密钥或随机数要求、认证结果以及明文的预期结构,必要时应借助独立工具或已知测试向量来验证结论[12]。

处理能力受浏览器资源限制,输入体积过大或配方过于复杂时运行会明显变慢[13]。工具的自动识别也并非总是可靠:Magic只对输入开头的一段字节做取样匹配,当输入前段是有效编码、后段夹杂无关内容时,它可能推荐出实际执行会失败的操作[14]。

在功能覆盖上,CyberChef并不支持OLE2这一旧式文档格式,处理含宏的文档时,需要先用其他工具提取出初始载荷,再交给CyberChef分析[9]。此外,浏览器端本地处理虽然减少了数据外传,但并不等同于绝对安全,浏览器扩展、被篡改的构建版本以及会发起网络请求的操作等仍是需要考虑的因素[12]。

参见

  • 英国政府通信总部 —— CyberChef的开发与维护机构。

  • Base64 —— CyberChef支持的最常见编码方式之一。

  • 高级加密标准 —— CyberChef提供解密操作的对称加密算法。

  • 哈希函数 —— CyberChef用于计算摘要和校验和的一类操作。

  • CTF —— CyberChef被广泛使用的信息安全竞赛场景。

  • Docker —— CyberChef本地自行部署时可采用的一种方式。

参考资料

  1. CyberChef - the Cyber "Swiss Army Knife" [引用日期2026-10-14]
  2. GCHQ presents CyberChef, an Open Source Data Analysis Tool [引用日期2026-10-14]
  3. github [引用日期2026-10-14]
  4. 号称程序员必备的“网络瑞士军刀”,优雅强大! [引用日期2026-10-14]
  5. CyberChef [引用日期2026-10-14]
  6. github.com 上的网页 [引用日期2026-10-14]
  7. /** [引用日期2026-10-14]
  8. CyberChef : how to decode your data the easy way [引用日期2026-10-14]
  9. Introduction to CyberChef [引用日期2026-10-14]
  10. CyberChef - Chrome Web Store [引用日期2026-10-14]
  11. CyberChef 部署教學 [引用日期2026-10-14]
  12. What Is CyberChef? A Guide to Data Transformation Tools [引用日期2026-10-14]
  13. CyberChef - self-hosted document processing & pdf tools [引用日期2026-10-14]
  14. github.com 上的网页 [引用日期2026-10-14]
词条评价
词条统计

浏览次数:3 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T21:21:05Z

历史版本

本条目引用的词条
英国政府通信总部 Base64 高级加密标准 哈希函数 CTF Docker