cochaviz/ruler

GitHub: cochaviz/ruler

一个 Suricata 规则可视化预览工具,支持上传 PCAP 和规则集后通过 Web 界面查看告警、引擎统计及规则语法错误。

Stars: 1 | Forks: 0

# Ruler 📏 上传 PCAP 文件和 Suricata 规则集,通过 Suricata 引擎的 unix-socket 控制协议运行它,并查看生成的警报、引擎统计信息和规则加载/语法错误。 ## 快速开始 拉取已发布的镜像并运行: ``` docker run -p 3000:3000 --cap-drop=ALL --security-opt no-new-privileges:true ghcr.io/cochaviz/ruler:master ``` 或者,使用 `docker compose`: ``` docker compose up ``` 每次推送到 `master` 时都会自动构建并推送,通过 [`.github/workflows/docker-publish.yml`](.github/workflows/docker-publish.yml) —— 没有 `latest` 标签,`master` 即是最新版。 如果要从源码构建并运行: ``` docker build -t "ruler:latest" . && docker run -p 3000:3000 --cap-drop=ALL --security-opt no-new-privileges:true ruler:latest ``` ## 开发 只需在 VSCode 中将其作为 devcontainer 打开,然后: ``` npm run dev ``` 即可同时运行后端和前端,并支持热更新。打开打印的 Vite URL (`http://localhost:5173`) —— 它会将 `/api` 代理到后端的 `:3000` 端口。粘贴/上传的规则可以跨多行;在交给 Suricata 之前,它们会自动重新合并回每个规则一行。 ## 测试 ``` npm test # backend unit tests (go test) npm run typecheck # shared + frontend ``` ## 生产构建 上述“快速开始”中的任一流程(拉取或自行构建的镜像)均是受支持的 生产环境部署路径 —— `supervisord` 会同时运行 Suricata 和后端(参见 `docker/supervisord.conf`),并在其中任何一个崩溃时自动重启。后端是一个 静态编译的 Go 二进制文件;运行时镜像根本不包含 Node,只包含 Suricata、supervisor 和该二进制文件。它已经过端到端验证(构建、容器启动以及通过浏览器实际运行 PCAP+规则)。 如果你想在非 Docker 环境下运行构建好的应用:`npm run build && npm start` 可以通过一个 Go 进程在 `:3000` 上同时提供前端和 API 服务。
标签:Docker, EVTX分析, Go, Metaprompt, MITM代理, PCAP, Ruby工具, Suricata, 安全防御评估, 日志审计, 现代安全运营, 请求拦截