kevinmuoz/yara-x-playground

GitHub: kevinmuoz/yara-x-playground

一款基于 WebAssembly 的浏览器端 YARA 规则编写与测试平台,无需安装即可在本地快速验证检测规则。

Stars: 0 | Forks: 0

# YARA-X Playground 使用 WebAssembly 在浏览器中直接编写、格式化和运行 YARA 规则。 这是一个结合了 [YARA-X](https://github.com/VirusTotal/yara-x)(YARA 的 Rust 实现)、Monaco Editor 和 YARA 语言服务器的 Playground,让你无需安装任何软件即可即时试验规则。 ![YARA-X Playground 演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3f4c337935203544.png) ## 功能特性 - 使用 Monaco 编辑 YARA 规则 - 语法高亮 - 语言服务器功能: - 诊断 - 自动补全 - 悬停信息 - 跳转到定义 - 格式化 - 支持纯文本或本地文件作为样本输入 - 由 YARA-X 的 WebAssembly 构建版本驱动规则执行 - 所有功能完全在浏览器内运行 ### 快捷键 - `Cmd/Ctrl + S` 格式化当前规则 - `Cmd/Ctrl + Shift + F` 格式化当前规则 - `Cmd/Ctrl + Space` 触发自动补全 - `Cmd/Ctrl + Enter` 对当前样本运行当前规则 ## 快速开始 ``` npm install npm run dev ``` 生产环境构建: ``` npm run build ``` ## 工作原理 该 Playground 使用了 YARA-X 仓库中的两个 WebAssembly 构建: - **engine** (`public/wasm-poc/`) — 编译为 WASM 的 YARA-X 编译器和扫描器。 - **language server** (`public/wasm-ls/`) — 在 Web Worker 中运行的官方 YARA-X LS, 通过 Language Server Protocol 与 Monaco 通信。 WASM 产物是在本地从 yara-x 源码构建的,并包含对 JavaScript 胶水代码的微调, 以确保浏览器流程正常工作。创建一个 CI 操作以自动从上游重新构建它们 将是下一步的工作。 两者都已提交到仓库中,因此 Playground 开箱即用,无需构建步骤。 ### 隐私 无分析、无跟踪、无遥测、无外部请求。 你加载的文件仅在会话期间保留在内存中,不会传输到任何地方。 ### 构建技术 - [YARA-X](https://github.com/VirusTotal/yara-x) — Rust · WebAssembly - [YARA-X Language Server](https://virustotal.github.io/yara-x/blog/introducing-the-yara-language-server/) - [Monaco Editor](https://microsoft.github.io/monaco-editor/) - [Lit](https://lit.dev/) - [Vite](https://vitejs.dev/) ### 许可证 MIT
标签:AI工具, AMSI绕过, DAST, DNS解析, LSP, Monaco Editor, Playground, Rust, VT, Wasm, WebAssembly, YARA, YARA-X, YARA规则编辑器, 云安全监控, 云计算, 云资产可视化, 代码高亮, 可视化界面, 在线工具, 威胁检测, 开源项目, 恶意软件分析, 模式匹配, 浏览器端, 网络安全, 网络流量审计, 自动化攻击, 自动化资产收集, 自动补全, 规则引擎, 语法检查, 语言服务器协议, 隐私保护, 静态分析