CyberChef 是一款简单直观的 Web 应用,用于在浏览器中执行各种“网络(cyber)”操作。这些操作包括 XOR 和 Base64 等简单编码,AES、DES 和 Blowfish 等更复杂的加密,生成二进制和十六进制转储,数据压缩与解压缩,计算哈希和校验和,解析 IPv6 和 X.509,更改字符编码,以及更多功能。
该工具旨在让技术型和非技术型分析人员都能以复杂的方式处理数据,而无需应付复杂的工具或算法。它由一位分析人员利用其 10% 的创新时间,历经数年构思、设计、构建并逐步改进而成。
CyberChef 的官方网站在这里 — 尽情使用吧!
你可以通过 Docker(无需工具链)运行 CyberChef,或使用 Node.js 从源码构建。
前置要求
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080如果你希望跳过构建过程,可以使用预构建镜像
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
与之前一样,在浏览器中导航到 http://localhost:8080。
此镜像通过我们的 GitHub Workflows 构建并发布。
如果你想开发 CyberChef 或在没有 Docker 的情况下运行它,可以直接使用 Node.js 构建。
前置要求
v24(参见 Node.js 支持)[!NOTE]
设置
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
常见任务
如果在构建大型配方时遇到内存不足错误,请使用 npm run setheapsize 增加 Node 的堆大小。
CyberChef 中有四个主要区域:
你可以以简单或复杂的方式使用任意数量的操作。下面是一些示例:
通过操作 CyberChef 的 URL 哈希值,你可以更改页面打开时的初始设置。
格式为 https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
支持的参数有 recipe、input(以 Base64 编码)和 theme。
CyberChef 旨在支持
CyberChef 旨在完全支持 Node.js v24,并且还在 Node.js v26 成为活动 LTS 版本之前对其进行了测试。更多信息,请参见 “Node API” wiki 页面
请参阅 CyberChef 安全策略。
为 CyberChef 贡献一个新操作非常简单!快速启动脚本将引导你完成整个过程。如果你能编写基本的 JavaScript,你就能编写一个 CyberChef 操作。
安装演练、如何添加新操作和主题的指南、仓库结构描述、可用数据类型和编码规范,都可以在 “Contributing” wiki 页面 中找到。
CyberChef 以 Apache 2.0 许可证 发布,并受 英国皇家版权 保护。
| 命令 | 说明 |
|---|
npm start | 在 http://localhost:8080 启动带有实时重载的开发服务器。 |
npm run build | 在 build/prod 目录中生成生产构建。 |
npm test | 运行 Node.js 和操作测试套件。 |
npm run testui | 运行浏览器(UI)测试。 |
npm run lint | 根据 lint 规则检查代码。 |
npm run newop | 通过交互式快速启动脚本生成一个新操作。 |