jaradat13/aegis

GitHub: jaradat13/aegis

面向隔离网络 SOC 环境的离线优先事件响应编排器,提供进程遏制、网络隔离、取证收集与可验证审计日志等能力。

Stars: 0 | Forks: 0

# Aegis IR ![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8893e87359093935.svg) ![Python](https://img.shields.io/badge/python-3.10%2B-blue?logo=python&logoColor=white) ![平台](https://img.shields.io/badge/platform-Linux-lightgrey?logo=linux&logoColor=white) ![许可证](https://img.shields.io/badge/license-MIT-green) 专为隔离网络 SOC 和实验室环境设计的离线优先事件响应编排器。它提供了一个零依赖的 Python CLI 和一个本地 Web dashboard,用于进行遏制、取证分类、cron 回滚、签名审计日志记录以及离线响应建议。 ## 功能 - 终止可疑进程,并生成带有签名的审计记录。 - 通过 `ip link set down` 隔离网络接口。 - 从日志、配置、二进制文件以及操作员指定的路径中收集取证分类 tarball。 - 对 cron 配置进行快照,并可回滚至已知的良好基线。 - 采用仅追加模式的 JSONL 审计日志,具备 HMAC 签名和哈希链。 - 基于本地规则提供离线 LLM 风格的建议,无任何网络依赖。 - 对破坏性操作默认执行 Dry-run(预演)。 ## 安装 ``` python -m venv .venv source .venv/bin/activate pip install -e . ``` 该应用在运行时仅使用 Python 标准库模块,因此也可以直接从检出的代码中运行: ``` python -m aegis_ir.cli --help ``` ## CLI 默认情况下,所有状态都存储在 `~/.local/state/aegis-ir` 目录下。可以通过 `--state-dir` 或 `AEGIS_IR_STATE` 进行覆盖。 ``` aegis-ir kill-process 4242 --reason "unknown binary beaconing" aegis-ir kill-process 4242 --reason "confirmed malicious process" --execute aegis-ir isolate-interface eth0 --reason "contain C2 traffic" aegis-ir isolate-interface eth0 --reason "contain C2 traffic" --execute aegis-ir collect-triage INC-2026-001 --path /var/log --path /tmp/suspicious.bin --execute aegis-ir save-cron-baseline known-good aegis-ir rollback-cron known-good aegis-ir rollback-cron known-good --execute aegis-ir suggest "cron persistence and C2 beacon" aegis-ir audit-verify aegis-ir audit-tail --limit 20 ``` ## 仪表板 ``` python -m aegis_ir.cli dashboard --host 127.0.0.1 --port 8765 ``` 打开 `http://127.0.0.1:8765`。Dashboard 提供与 CLI 相同的工作流,并显示最近的已签名审计条目。 ## 安全模型 除非传入 `--execute` 参数或在 Dashboard 中勾选 Execute 复选框,否则遏制操作均以 dry-run 模式执行。实际执行的进程终止和网络隔离操作需要适当的 OS 权限。cron 回滚的默认路径为 `/etc`,因此在生产环境中应将其限制为受信任的操作员使用。 ## 取证分类 默认的取证分类收集会尝试包含常见的 Linux 事件响应工件: - `/var/log/auth.log` - `/var/log/secure` - `/var/log/syslog` - `/var/log/messages` - `/var/log/audit` - `/etc/passwd` - `/etc/group` - `/etc/crontab` - `/etc/cron.d` - `/tmp` 缺失的路径会被记录在审计详情中,不会导致收集过程失败。 ## 审计完整性 每项操作都会写入一条 JSONL 审计条目,其中包含时间戳、执行者、操作、目标、详情、前一条目的哈希值、HMAC 签名以及当前条目的哈希值。`aegis-ir audit-verify` 用于验证签名和链的连续性。 签名密钥在首次运行时于本地生成,保存在 `audit.key` 文件中,文件权限模式为 `0600`。 ## 测试 ``` python -m unittest discover -s tests ```
标签:PB级数据处理, Python, 子域名变形, 安全运维, 库, 应急响应, 数字取证, 文档结构分析, 无后门, 离线优先, 网络信息收集, 自动化脚本, 逆向工具