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,让你无需安装任何软件即可即时试验规则。

## 功能特性
- 使用 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规则编辑器, 云安全监控, 云计算, 云资产可视化, 代码高亮, 可视化界面, 在线工具, 威胁检测, 开源项目, 恶意软件分析, 模式匹配, 浏览器端, 网络安全, 网络流量审计, 自动化攻击, 自动化资产收集, 自动补全, 规则引擎, 语法检查, 语言服务器协议, 隐私保护, 静态分析