面向取证的节点式可视化工作台 —— 像 ComfyUI 一样搭工作流,专为编码解密、隐写取证、图像分析、密码学而生。
主要特性 · MCP 与 AI 调用 · 工作区 · 节点分类 · 架构 · 下载 · 贡献
[!NOTE] ✨ 0.2.9 新特性 —— 常见 CTF 小技巧补齐 · 二进制分析(ELF / PE / Mach-O / DEX / PE 深度检查)· 文件格式与文档/APK 取证 · 古典密码自动分析/爆破 · 可视化分析(字节直方图 / 熵曲线 / 字节分布图)· 控制/逻辑闭环 · 270 个内置节点。
LovelyMiscLab 是一个桌面应用,核心是一个类型化的节点图引擎(typed node-graph engine),专为编码解密、隐写取证、图像分析、密码学等场景打造。
设计上做的是类似 ComfyUI 的节点式工作流——你在画布上拖拽「节点」(Base64 解码、XOR、LSB 隐写提取、二维码解码、AES 解密、图像滤镜……),用连线把它们组成一条数据流 DAG,后端按拓扑序执行,并把每个节点的结果实时回显到画布上。同样是数据驱动、可视化编排、节点自由扩展,只是把「生成图像」换成了「Misc 分析」。
它可以当作:
v0.2.0 起,应用内嵌了一个 MCP(Model Context Protocol)服务器:外部 AI 客户端可以直接发现节点、运行单节点或整条流水线,并与你当前正在编辑的画布实时协作——AI 增删改的节点会即时出现在你的屏幕上。
127.0.0.1、Bearer 令牌鉴权、跑在独立线程。| 类别 | 工具 |
|---|---|
| 发现 | list_categories → list_nodes(精简)→ describe_node · list_modules |
| 执行 | run_node · run_graph(不带参数即运行当前画布) |
| 画布 | get_canvas · set_canvas · add_node · connect · set_param · remove_node · move_node… |
| 持久化与 AI | save_workflow · load_workflow · save_composite_module · generate_workflow |
| 其他 | get_settings(脱敏)· detect_tool · ping |
[!TIP] 画布内的 AI Agent 与 端口 AI 预测 是应用自带的功能(用你在「设置 → AI 模型」里配置的 OpenAI 兼容模型),开箱即用、无需 MCP;MCP 则是给外部 AI 客户端接管引擎用的另一条通道。
在 AI 客户端中连接(点击展开)
启用后复制面板里的端点与令牌,然后:
Claude Code
claude mcp add --transport http lovelymisclab http://127.0.0.1:8765/mcp \
--header "Authorization: Bearer <令牌>"
Cursor —— ~/.cursor/mcp.json
{ "mcpServers": { "lovelymisclab": {
"url": "http://127.0.0.1:8765/mcp",
"headers": { "Authorization": "Bearer <令牌>" }
} } }
Codex / 其他仅 stdio 的客户端 —— 经 mcp-remote 桥接
[mcp_servers.lovelymisclab]
command = "npx"
args = ["-y", "mcp-remote", "http://127.0.0.1:8765/mcp", "--header", "Authorization: Bearer <令牌>"]
[!WARNING] 安全:默认关闭、仅监听本机、强制 Bearer 令牌;
get_settings对 AI 隐藏 API Key。启用即意味着持令牌的 AI 可运行节点/脚本、读写画布,请勿泄露令牌。
Ctrl / Cmd + K)—— 快速跳转视图、执行动作共 270 个内置节点,按分类:
| 分类 | 数量 | 举例 |
|---|---|---|
| 编码/加密 | 46 | Base32/45/58/62/64/85/92 · Hex · URL · 二维码 · 摩斯 · 培根 · 盲文 · Brainfuck · DNA · 重复 XOR 破解 |
| 图像处理 | 38 | 通道/混合/滤镜/几何/色彩空间/差分 · 频域(FFT) · GIF · PNG/JPG/BMP 宽高修复 · 盲水印 · 01↔图像 |
| 加密解密 | 39 | AES/DES/Blowfish/RC4/ChaCha/Salsa/RSA · 维吉尼亚/仿射/Atbash/Playfair/Enigma/ADFGVX/栅栏 · 古典密码自动分析/爆破 · 数论/RSA 小工具 · PGP |
| 隐写术 | 29 | 零宽字符 · StegCloak · 空白/SNOW · LSB 提取/嵌入 · zsteg 扫描 · imageIN/ImageMask/stegpy/PixelJihad |
| 控制/逻辑 | 22 | 开关 · 门控 · 迭代 · 映射/过滤/归约 · 正则路由 · 合流 · 数值比较 · 列表工具 |
| 工具/分析 | 25 | 熵值 · 字频 · hexdump · EXIF · 文件类型识别 · PNG/JPEG/GIF/PDF 结构 · OOXML/APK 取证 · 文件雕刻 · HTTP · JWT · IP 转换 |
| 文本处理 | 14 | 拼接/分割/替换/正则/大小写/去重/排序… |
| 进制转换 | 9 | 二/八/十/十六 · 字符码 · 十进制 |
| 压缩包 | 9 | ZIP/7z/TAR/GZIP/RAR 解包 · ZIP 列表/目录差异/CRC 爆破/bkcrack · ZIP 创建 · ZIP 伪加密(出题) |
| 输入输出 | 7 | 文本输入/输出/展示 · 文件导入/输出 · 图片输入/查看 |
| 二进制分析 | 13 | ELF / PE / Mach-O 信息 · DEX 字符串 · 节区列表/提取/熵 · PE 资源/证书/imphash/壳提示/.NET 元数据 · strings · overlay |
| 音频处理 | 5 | WAV 信息 · 频谱图 · WAV LSB · DTMF · DeepSound |
| 字符编码 | 5 | GBK/UTF/Big5 等字符集互转 · Quoted-Printable · 全角/半角 |
| 哈希/摘要 | 4 | MD5/SHA/SHA3/RIPEMD/BLAKE2/Whirlpool/SM3/CRC32/HMAC/bcrypt |
| 可视化分析 | 3 | 字节直方图 · 熵曲线 · 字节分布图 |
| AI | 2 | 文本判断 ai_judge · 视觉识图 ai_vision |
采用 Cargo workspace,把与 Tauri 无关的分析引擎和薄适配层彻底分离:
LovelyMiscLab/
├── crates/misclab-core/ # 纯 Rust 分析引擎(可无头单测、可被 CLI 复用)
│ ├── src/graph/ # 图引擎:端口类型、模型、执行器、缓存、复合/脚本节点
│ ├── src/node/ # Node trait、NodeDescriptor(数据驱动 UI 的单一真相源)、注册表
│ ├── src/nodes/ # 270 个内置节点实现(一文件一节点或一对编解码)
│ ├── src/ai.rs # OpenAI 兼容的 chat / vision / 工具调用(chat_step)
│ └── tests/ # 集成测试(大量编码解密对照用例)
├── src-tauri/ # Tauri 应用外壳(薄适配器,over misclab-core)
│ ├── src/mcp/ # 内嵌 MCP 服务器(rmcp/axum):工具、状态、鉴权、IO 适配、画布桥接
│ ├── src/commands/ # 暴露的 Tauri command(图执行 / AI Agent / 项目 / 模块 / 设置 / MCP…)
│ ├── src/db.rs # SQLite 持久化
│ └── src/lib.rs # 应用入口:注册插件、构建注册表、(可选)自启 MCP
├── src/ # React 前端
│ ├── flow/ # 画布、节点、连线、检查器、整理布局、端口建议、Agent 回放、canvasSync
│ ├── app/ # 标题栏、命令面板、自动保存、运行控制台、Agent 面板、各类对话框
│ ├── views/ # 画布 / 模块 / 模板 / 设置(含 MCP 面板)等视图
│ ├── store/ # zustand 状态(graph / run / agent / descriptors…)
│ └── lib/ # Tauri IPC 绑定、类型、工程存取
└── scripts/ # UTF-8 检查等辅助脚本
前端画布 (React + @xyflow/react)
│ SerializedGraph (JSON) ┌──────────────────────┐
▼ │ 外部 AI 客户端 │
Tauri commands (src-tauri) ──Channel──▶ 流式进度/每节点结果 │ Claude Code / Cursor │
│ └──────────┬───────────┘
▼ HTTP / Bearer │ MCP
GraphExecutor (misclab-core) 拓扑排序→逐节点 run→增量缓存 ◀── src/mcp ─┘ 画布双向同步
│
▼
NodeRegistry + NodeDescriptor ──▶ 前端据此渲染调色板/节点体/连接校验
NodeDescriptor 是单一真相源:后端声明节点的输入 / 输出 / 参数控件,前端完全据此渲染 UI,无需为每个节点写前端代码。AI Agent 与 MCP 服务器复用同一套引擎与执行器;AppBridge trait 让 MCP 能脱离 Tauri 单测。
| 分类 | Command |
|---|---|
| 图执行 | list_node_descriptors · run_node · run_graph · cancel_job · reset_run |
| AI | agent_run(分步 Agent,流式)· suggest_next_nodes(端口预测)· generate_workflow · explain_workflow |
| MCP | mcp_start · mcp_stop · mcp_status · mcp_get_config · mcp_set_config · sync_canvas |
| 复合/脚本模块 | list/save/delete_composite_module · list/save/delete_script_module |
| 工程与设置 | save_project · load_project · get_settings · set_settings · detect_tool |
前端:React 19 · TypeScript · Vite 7 · Tailwind CSS v4 · @xyflow/react(节点图)· zustand · TanStack Query
后端:Rust 2021 · Tauri 2 · petgraph(图算法)· rusqlite(SQLite,bundled)· image / imageproc · rustfft · RustCrypto 全家桶 · rPGP · encoding_rs
MCP:rmcp 2.0 · axum · tokio(mcp feature,默认开启)
到 Releases 下载对应平台的绿色版(免安装):
| 平台 | 资源 | 说明 |
|---|---|---|
| 🪟 Windows | *-windows-x64.exe |
双击运行。依赖系统自带的 WebView2 运行时(Win10/11 已内置),已用 UPX 压缩。 |
| 🐧 Linux | *-linux-x64 |
chmod +x 后运行。需要 WebKitGTK 4.1(Debian/Ubuntu:sudo apt install libwebkit2gtk-4.1-0)。 |
| 🍎 macOS | *-macos-universal.dmg |
Intel + Apple Silicon 通用;拖入「应用程序」。未签名,首次打开若被 Gatekeeper 拦截:右键 →「打开」,或终端执行 xattr -cr /Applications/LovelyMiscLab.app。 |
应用内置自动更新:新版本发布后会在应用内提示升级(macOS 因
.dmg内是.app包,改为引导到发布页手动下载)。
pnpm install # 安装前端依赖
pnpm tauri dev # 桌面开发模式(Tauri + Vite 热更新)
pnpm dev # 仅浏览器预览前端(mock 节点,无 Tauri IPC)
pnpm tauri build # 构建发布版桌面应用
pnpm check:utf8 # 校验源码 UTF-8 编码
cargo clippy --workspace --all-targets -- -D warnings # 零告警门禁(同 CI)
cargo test -p misclab-core # 引擎单元/集成测试(无需 Tauri)
cargo test -p misclab-app --features mcp # 应用层 + MCP 测试
cargo build --no-default-features # 不含 MCP 栈的精简构建
crates/misclab-core 完全独立于 Tauri,可单独测试与复用;MCP 由 mcp Cargo feature 门控(默认开启,服务本身运行时默认关闭)。CI 在 Windows / Linux / macOS 三系统上跑构建、测试与 Clippy 零告警门禁。
欢迎贡献新节点、修 bug、完善文档。新增节点请用 Rust 实现,且仓库只允许使用 Rust 版依赖库——想移植某个 Python 工具,请先用 Rust 重写。完整规范、节点开发模板、PR 流程见 开发手册 CONTRIBUTING.md。
VS Code + Tauri + rust-analyzer
$ claude mcp add LovelyMiscLab \
-- python -m otcore.mcp_server <graph>