A minimal, educational EDR / endpoint monitor written in Nim.
Argus observes what happens on a host — process, file and network events —
normalizes them into a single typed event model, and runs a declarative,
rule-based detection engine that raises alerts mapped to MITRE ATT&CK.
> ### ⚠️ Educational project — not a production EDR
>
> Argus exists to teach how endpoint detection works, not to protect a real
> fleet. It has no kernel driver, no tamper protection, no anti-e, no
> managed update channel, and no support commitment. A determined ad can
> tri avoid or disable it. Do not rely on it as a security control.
> Use it to read, to experiment, and to understand the pipeline that real EDRs
> implement at far greater depth.
argus doctor printsEvent type.Requires Nim 2.0+.
Or run the guided walkthrough, which is safe and self-contained:
The fastest way to see the whole thing work — and the way the rules are tested.
No host activity is observed; the trace is a file in the repository.
The last one is the point of the whole project: neither half is damning alone,
but the *sequence*, from the *same process*, inside a *time window*, is.
The same trace contains three benign apt writes to /etc. Nothing fires on
them — a test asserts that, because noise is how a real deployment gets muted.
| Collector | Source | Pri | Limitation |
|-----------|--------|-----------|------------|
| Process | /proc polling | read /proc | misses processes shorter-lived than the interval |
| File | inotify (Linux) or directory polling | read the watched paths | inotify watches are not recursi misses churn between scans |
| Network | /proc/net/* + /proc/*/fd | unpri for your own processes; root to attribute all pids | polling misses short-li |
argus doctor reports this for your actual host. On a machine with no /proc
— macOS, for instance — it says so plainly rather than collecting nothing
quietly:
Rules are YAML. See rules/ for the 22-rule starter pack anddocs/design.md for the full format.
Nineteen operators (equals, in, regex, glob, path_under,basename_in, cidr, gt/lt, exists, …), all/any/not composition,
and correlation rules that join a sequence of steps on shared fields inside a
time window.
E checkable is checked at load time — unknown field paths,
unknown operators, regexes that do not compile, gt given two ,
duplicate ids. A detection that silently ne is worse than one that
refuses to load:
Every setting has a defensible default, so argus run works with no config at
all. Copy argus.example.yaml to argus.yaml to
o; argus config shows what is actually in effect and where it came
from.
All se are complete. See docs/design.md for
the event schema, collector interface, rule format and design rationale.
| # | Milestone | Status |
|---|-----------|--------|
| 1 | Scaffold, Event model, alert sinks | ✅ |
| 2 | Rule engine: YAML rules, field matching, ATT&CK | ✅ |
| 3 | Collector interface, event bus, process collector | ✅ |
| 4 | File collector (inotify + polling) | ✅ |
| 5 | Network collector with pid correlation | ✅ |
| 6 | Stateful correlation across a time window | ✅ |
| 7 | CLI, config, starter rule pack, demo | ✅ |
CAP_NET_ADMIN and a lot of struct marshalling.Process injection, tampering, hiding, e, or any capability whose purpose
is to act on another process rather than observe it. Argus reads. That is the
whole of its authority.
721 unit tests, no live host activity in any of them.
/proc/<pid>/stat, /proc/net/tcp, inotify masks) are pure(evil) thing, IPv6MIT — see LICENSE.
开发语言:Nim
Star 数:6
该项目属于防护思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Argus. A minimal, educational EDR / endpoint monitor written in Nim. It collects process, file, and network telemetry, normalizes it, and runs a rule-based detection engine with MITRE ATT&CK mapping. Read-only and defensive by design.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | argus - Argus. A minimal, educational EDR / endpoint monit |
| 所属分类 | 防护思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:14:13 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 422 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |