
rustinel v1.8.0-rc.1
Windows、Linux 和 macOS 的端点检测。基于原生遥测数据的 Sigma、YARA 和 IOC 规则。使用 Rust 编写。无需云账户。
Rustinel
开源端点检测。三大平台。你的规则。
在原生 Windows、Linux 和 macOS 遥测数据上运行 Sigma、YARA 和 IOC 检测。
使用 Rust 编写,本地告警,无需云账户。
带上你的检测内容,监控你的端点,并将告警发送到你已在使用的工具。
为什么选择 Rustinel?
端点检测应当与你运行的平台以及你已经理解的规则协同工作。
Rustinel 将原生遥测、成熟的检测格式和统一的告警格式整合到一个开源引擎中。
- 使用 Sigma 和 YARA 规则。 使用 Sigma 检测行为,使用 YARA 扫描文件和进程内存,并匹配哈希、IP、域名和路径指标。
- 跨 Windows、Linux 和 macOS 运行。 使用一个引擎,共享配置模型和规范化事件。传感器和检测覆盖范围因平台而异。
- 掌控你的数据。 实时代理不建立任何出站网络连接。告警是本地文件,你可以自行检查或转发。
- 连接你现有的工具。 ECS 9.4.0 NDJSON 输出可与 Elastic、Splunk 及其他日志管道配合使用。
- 针对记录的行为测试检测规则。 一次捕获遥测数据,随规则变化反复回放,无需重复该活动。
- 检查和扩展引擎。 使用 Rust 编写,基于 Apache 2.0 许可。
获取你的第一条告警
发布归档包含二进制文件、默认配置和演示规则,让你在部署服务之前验证检测功能。
Linux
需要支持 BTF 的 Linux 5.8+。
curl -fsSL https://rustinel.io/install.sh | sh
cd rustinel
sudo ./rustinel run
Windows
在提升权限的 PowerShell 中运行:
irm https://rustinel.io/install.ps1 | iex
Set-Location rustinel
.\rustinel.exe run
需要 x64 Microsoft Visual C++ Redistributable。参见 Windows 先决条件。
macOS
macOS 支持为实验性功能。在启动传感器之前,请完成 签名和完全磁盘访问权限设置。
curl -fsSL https://rustinel.io/install.sh | sh
cd rustinel
sudo ./rustinel run
触发演示规则
在 Rustinel 运行期间,打开另一个终端并运行:
whoami
内置的演示规则会检测到该进程。在解压后的发布目录中的
logs/alerts.json.<date> 里找到告警。
演示规则用于验证管道是否正常工作。如需更广泛的覆盖范围,请安装检测规则包或添加你自己的规则。
部署以进行持续监控
使用 Ctrl-C 停止前台代理,然后在解压后的发布目录中运行 setup。
Linux 和 macOS:
sudo ./rustinel setup --yes
./rustinel doctor
Windows,在提升权限的 PowerShell 中:
.\rustinel.exe setup --yes
.\rustinel.exe doctor
Setup 会写入托管配置、安装 Essential 规则包、注册原生服务、启动服务并检查其健康状况。
使用 --pack advanced 获取更大的规则包,或使用 --no-start 注册服务但不启动它。
| 平台 | 服务管理器 | 托管告警目录 |
|---|---|---|
| Windows | SCM | C:\ProgramData\Rustinel\logs\ |
| Linux | systemd | /var/log/rustinel/ |
| macOS | launchd | /Library/Logs/Rustinel/ |
规则和 IOC 支持热重载。可选的进程终止功能可用,默认禁用。
你的规则,有据可查的覆盖范围
使用你自己的检测内容,或从 rustinel-rules 开始,这是官方的版本化 Sigma、YARA 和 IOC 规则包。
规则包会被下载、SHA-256 校验、验证并原子化激活。下载失败会保留当前规则不变。
规则兼容性取决于每个平台上可用的遥测数据和字段。Windows 规则不会自动成为 Linux 检测规则。
我们针对固定的 SigmaHQ 语料库发布了 Sigma 覆盖范围测量, 包括缺失的采集器和不可用的字段。这些测量的是规则是否拥有触发所需的数据,而非它们是否能检测到每一次攻击。
一次捕获。随规则改进反复回放。
记录端点活动,然后针对新规则评估相同的事件,无需重复该活动或在开发机器上运行传感器。
在 Linux 或 macOS 的发布目录中:
# Start recording, perform the activity, then press Ctrl-C.
sudo ./rustinel capture --output session.ndjson
# Evaluate the recording without elevated privileges.
./rustinel replay session.ndjson
# Compare another configuration.
./rustinel replay session.ndjson --config candidate.toml
# Export results for automated comparison.
./rustinel replay session.ndjson --output results.ndjson
在 Windows 上,使用 .\rustinel.exe 并在提升权限的 PowerShell 中进行捕获。
Windows 录制可以在 Linux 或 macOS 上回放。回放使用录制的平台进行 Sigma 路由,并对相同的录制和配置产生可复现的结果。
请将录制文件与其 .manifest.json 附属文件放在一起。录制文件包含敏感的端点数据,包括命令行、路径、网络目标和用户名。
回放会评估 Sigma 以及 IP、域名和路径 IOC 检查。YARA 和哈希检查会被跳过,因为录制文件包含的是事件而非文件内容。回放期间绝不会运行主动响应。
平台支持
| 平台 | 传感器 | 遥测 | 状态 |
|---|---|---|---|
| Windows 10/11, Server 2016+ | ETW + Windows Event Log | 进程、映像加载、网络、文件、注册表、DNS、PowerShell、WMI、服务、任务、选定的安全事件 | 稳定 |
| Linux 5.8+ with BTF | eBPF | 进程、网络、文件、DNS | 稳定 |
| macOS 11+ | Endpoint Security + /dev/bpf | 进程、文件、网络、DNS | 实验性 |
Windows 目前拥有最广泛的覆盖范围。有关平台特定的详细信息,请参见 要求和 限制。
本地运行,显式下载
实时代理在本地收集和评估遥测数据。它不会将遥测数据发送回厂商,也不要求厂商账户。
安装程序会下载已发布的版本。setup、rules list 和 rules install
会获取规则目录;setup 和规则安装还会下载规则包。
除非你通过自己的管道转发,否则告警会保留在端点本地。
了解边界
Rustinel 支持端点监控、检测工程、安全实验室和 SIEM 管道验证。
它不是成熟商业 EDR 的直接替代品。它不提供内核级自我保护、执行前阻断、防篡改保证或托管响应。拥有足够权限的攻击者可能干扰用户态遥测。
在评估其是否适用于你的环境时,请阅读当前限制。
贡献
帮助改进平台覆盖范围、测试检测规则、报告错误,或让安装更简单。
如果你使用 Rustinel,请告诉我们你监控什么、哪些规则对你重要,以及你在哪里遇到困难。真实的部署反馈有助于指导项目。