Arqenor/arqenor

GitHub: Arqenor/arqenor

Arqenor 是一个基于 Rust 和 Go 构建的跨平台开源 EDR,提供商业级的主机与网络威胁检测及内存取证能力。

Stars: 1 | Forks: 0

# ARQENOR [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/18a589099e053754.svg)](https://github.com/Arqenor/arqenor/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) **开源 EDR(端点检测与响应)** — 跨平台,使用 Rust 和 Go 构建。 ARQENOR 为独立开发者、小型团队和安全研究人员提供商业级的检测能力,而无需支付每端点每月 30 美元的费用。实时监控进程、文件系统、网络连接、持久化机制和内存 — 内置 SIGMA 规则、IOC 威胁情报、YARA 扫描和告警关联。 ``` ┌──────────────────────────────────────────────────────────┐ │ ARQENOR Stack │ │ │ │ ┌──────────────┐ ┌─────────────┐ ┌────────────────┐ │ │ │ arqenor-tui │ │ arqenor-cli│ │ External API │ │ │ │ (Ratatui) │ │ (clap) │ │ Clients │ │ │ └──────┬───────┘ └──────┬──────┘ └───────┬────────┘ │ │ │ │ │ │ │ └─────────────────┼──────────────────┘ │ │ ▼ │ │ ┌───────────────────────┐ │ │ │ Go Orchestrator │ │ │ │ REST API :8080 (Gin) │ │ │ └──────────┬────────────┘ │ │ │ gRPC │ │ ▼ │ │ ┌───────────────────────┐ │ │ │ arqenor-grpc │ │ │ │ Tonic :50051 │ │ │ └──────────┬────────────┘ │ │ │ │ │ ┌────────────────┼────────────────┐ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │arqenor- │ │arqenor- │ │arqenor- │ │ │ │platform │ │store │ │core │ │ │ │(Win/Lin/Mac)│ │(SQLite) │ │(traits+models│ │ │ └─────────────┘ └──────────────┘ └──────────────┘ │ └──────────────────────────────────────────────────────────┘ ``` ## 截图 ### Terminal UI (Ratatui) ![ARQENOR Terminal UI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6f4088f889053756.png) ## 功能 | 类别 | 能力 | |---|---| | **检测引擎** | 32 条 LOLBin 规则,3000+ 条 SIGMA 社区规则,文件路径规则,PE 静态分析 | | **威胁情报** | IOC 数据库(abuse.ch 源:MalwareBazaar、Feodo、URLhaus、ThreatFox),每 4 小时自动刷新 | | **告警关联** | PID + 父子分组,ATT&CK 加权评分,事件模型 | | **内存取证** | VAD 遍历(shellcode 检测),进程镂空,NTDLL hook 检测 | | **YARA 扫描** | 内存中扫描(yara-x,纯 Rust):Cobalt Strike、Mimikatz、Sliver、Meterpreter、shellcode | | **BYOVD 检测** | 50 个已知易受攻击的内核驱动程序(LOLDrivers.io 阻止名单) | | **网络分析** | C2 beaconing(CV 评分),DNS 隧道,DGA 检测,JA4 TLS 指纹识别 | | **进程** | 快照 + 流式监控,SHA-256 哈希,风险评分,实时连接监控 | | **持久化** | Win:注册表、任务、服务、WMI、COM、BITS、AppInit、IFEO (B1-B9) · Lin:Cron、Systemd、LD_PRELOAD、PAM、SSH、git hooks (C1-C7) · Mac:LaunchDaemon/Agent、登录项、认证插件 | | **文件系统** | FIM 基线 + 实时监视(ReadDirectoryChangesW / inotify / ESF) | | **内核遥测** | ETW(10 个提供程序,TDH 解析)· eBPF(5 个探针)· ESF (macOS) | | **TUI** | 实时 Ratatui 仪表板,带告警流 | | **CLI** | `arqenor scan` · `arqenor watch --sigma-dir --yara-dir --no-ioc` | | **API** | REST (Go/Gin) + gRPC (Rust/Tonic) + SSE 告警流 | | **跨平台** | Windows 10+、Linux、macOS — 通过 `cfg-if` 实现单一代码库 | | **ATT&CK 覆盖** | 覆盖 TA0001-TA0011 约 140+ 种技术 | ## 快速开始 ### 前置条件 | 工具 | 版本 | 用途 | |---|---|---| | Rust toolchain | 1.80+ | 构建 Rust crates | | Go | 1.23+ | 构建编排器 | | protoc | 3.x | 重新生成 gRPC 存根 | | protoc-gen-go / protoc-gen-go-grpc | latest | Go proto 代码生成 | ### 构建 ``` # 1. Clone git clone https://github.com/Arqenor/arqenor.git cd arqenor # 2. Build all Rust binaries cargo build --release \ -p arqenor-cli \ -p arqenor-tui \ -p arqenor-grpc # 3. Build Go orchestrator cd go && go build ./cmd/orchestrator && cd .. # 4. (Optional) Regenerate proto stubs ./scripts/gen-proto.ps1 # Windows PowerShell ``` ### 运行 ``` # Terminal 1 — gRPC host analyzer ./rust/target/release/arqenor-grpc # Terminal 2 — REST orchestrator ./go/orchestrator # Terminal 3 — choose your interface ./rust/target/release/arqenor scan # one-shot CLI ./rust/target/release/arqenor watch # continuous CLI ./rust/target/release/arqenor-tui # dashboard UI ``` ## 项目结构 ``` arqenor/ ├── rust/ │ ├── arqenor-core/ # Domain nucleus: traits, models, pipeline, rules, IOC, correlation │ ├── arqenor-platform/ # Win/Lin/Mac: ETW, ESF, connections, memory scan, YARA, BYOVD │ ├── arqenor-grpc/ # Tonic gRPC server (port 50051) │ ├── arqenor-store/ # SQLite persistence layer │ ├── arqenor-tui/ # Ratatui terminal dashboard │ └── arqenor-cli/ # clap CLI (scan / watch) ├── arqenor-ebpf/ # Linux eBPF kernel probes (libbpf-rs, 5 probes) ├── go/ │ ├── cmd/orchestrator/ # Entry point │ ├── internal/api/ # Gin REST handlers + SSE alert streaming │ ├── internal/grpc/ # gRPC client + generated stubs │ └── internal/store/ # Go-side SQLite store ├── proto/ # Protobuf definitions ├── configs/ # Runtime configuration (arqenor.toml) └── docs/ # Architecture, roadmap, guides ``` ## 配置 将 `configs/arqenor.toml` 复制到您的工作目录并调整路径: ``` [general] log_level = "info" # trace | debug | info | warn | error data_dir = "./data" [grpc] host_analyzer_addr = "127.0.0.1:50051" network_scanner_addr = "127.0.0.1:50052" [api] listen_addr = "127.0.0.1:8080" [scan] fs_roots = ["C:\\Users", "C:\\Windows\\System32"] max_file_size = 10485760 # bytes (10 MB) interval_secs = 60 [alerts] min_severity = "medium" # info | low | medium | high | critical ``` 完整参考 → [`docs/guides/configuration.md`](docs/guides/configuration.md) ## 文档 | 文档 | 描述 | |---|---| | [架构概述](docs/architecture/overview.md) | 组件图、数据流、设计决策 | | [Rust Crates](docs/architecture/crates.md) | 每个 crate 的详细分解 | | [gRPC 服务](docs/architecture/grpc-services.md) | Proto 定义、RPC 方法、消息类型 | | [Go 编排器](docs/architecture/go-orchestrator.md) | REST API、gRPC 客户端、编排逻辑 | | [安装指南](docs/guides/installation.md) | 前置条件、构建步骤、交叉编译 | | [配置参考](docs/guides/configuration.md) | 解释每个 `arqenor.toml` 键值 | | [使用指南](docs/guides/usage.md) | CLI 命令、TUI 控制、API 调用 | | [构建系统](docs/development/build.md) | Cargo 工作区、proto 代码生成、CI 目标 | | [平台说明](docs/development/platform-notes.md) | Windows/Linux/macOS 特定详情 | | [贡献](docs/development/contributing.md) | 代码风格、PR 流程、添加新平台 | | [REST API 参考](docs/reference/api.md) | 端点规范,包含请求/响应示例 | | [CLI 参考](docs/reference/cli.md) | 所有标志和子命令 | | [Proto 参考](docs/reference/proto.md) | 完整的 proto3 消息和服务定义 | ## 路线图 完整 6 阶段计划请参阅 [`docs/roadmap/ROADMAP.md`](docs/roadmap/ROADMAP.md)。 | 阶段 | 重点 | 状态 | |-------|-------|--------| | **阶段 1** | 检测引擎 + LOTL 规则(32 条 LOLBin 规则,持久化 B1-B9/C1-C7,FIM,凭据窃取) | ✅ 已完成 | | **阶段 2** | 内核遥测:ETW(10 个提供程序),eBPF(5 个探针),ESF (macOS),WDK 驱动 | ✅ 已完成 | | **阶段 3** | 网络:C2 beaconing、DNS 隧道、DGA、JA4 TLS 指纹识别、连接监控 | ✅ 已完成 | | **阶段 4** | SIGMA 引擎(3000+ 条规则),IOC 源(abuse.ch),关联引擎,PE 静态分析器 | ✅ 已完成(行为 ML 待定) | | **阶段 5** | 内存取证(VAD、镂空、NTDLL hooks),BYOVD(50 个驱动程序),YARA 扫描 | ✅ 已完成 | | **阶段 6** | 云仪表板、主机群管理、自动响应 | 未开始 | ## 商业模式 ARQENOR 采用 **开放核心** 模式: - **开源**(Apache 2.0,本仓库)— `arqenor-core`、`arqenor-platform`、`arqenor-cli`、`arqenor-tui`、`arqenor-grpc`、`arqenor-store`、`arqenor-ebpf`、Go 编排器 - **闭源 / 商业**(`arqenor-enterprise`)— Windows 内核驱动 (WDK)、ML 评分器(PE 静态分析器)、Tauri 桌面应用、云仪表板、高级威胁情报源、多主机管理、企业级告警 ## 贡献 有关构建说明、提交约定和 PR 流程,请参阅 [`CONTRIBUTING.md`](CONTRIBUTING.md)。 安全问题:请参阅 [`SECURITY.md`](SECURITY.md) — 请**不要**公开提交 issue。 ## 许可证 基于 [Apache License, Version 2.0](LICENSE) 许可。参见 [`NOTICE`](NOTICE) 了解归属信息。
标签:DevSecOps, DNS枚举, Docker镜像, EDR, Go, IOC威胁情报, Python工具, Ratatui, REST API, Ruby工具, Rust, SIGMA规则, x64dbg, YARA扫描, 上游代理, 内存扫描, 可视化界面, 告警关联, 安全运营, 工具集, 扫描框架, 持久化机制, 文件系统监控, 日志审计, 端点检测与响应, 终端安全, 网络安全, 网络安全工具, 网络流量审计, 网络连接监控, 脆弱性评估, 脱壳工具, 通知系统, 隐私保护