Arqenor/arqenor
GitHub: Arqenor/arqenor
Arqenor 是一个基于 Rust 和 Go 构建的跨平台开源 EDR,提供商业级的主机与网络威胁检测及内存取证能力。
Stars: 1 | Forks: 0
# ARQENOR
[](https://github.com/Arqenor/arqenor/actions/workflows/ci.yml)
[](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)

## 功能
| 类别 | 能力 |
|---|---|
| **检测引擎** | 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扫描, 上游代理, 内存扫描, 可视化界面, 告警关联, 安全运营, 工具集, 扫描框架, 持久化机制, 文件系统监控, 日志审计, 端点检测与响应, 终端安全, 网络安全, 网络安全工具, 网络流量审计, 网络连接监控, 脆弱性评估, 脱壳工具, 通知系统, 隐私保护