adhithyaragavan/sentinel-hackathon

GitHub: adhithyaragavan/sentinel-hackathon

Sentinel 是一个由五个 AI agent 组成的自主 SOC 事件响应集群,能够在隔离沙箱中引爆可疑文件并自动完成告警分诊、取证、风险评分与修复决策。

Stars: 0 | Forks: 0

# Sentinel — 自主 SOC 事件响应集群 一个由 5 个 agent 组成的集群,可自主对 SOC 告警进行分类,在隔离的 sandbox 中引爆可疑文件,评估遏制风险,并自动修复或通过 Slack 上报给人工。 为 **NVIDIA / gnani.ai / OpenACC Agentic AI Open Hackathon — Track A (Agentic Workflows)** 打造。 ## 架构 一个线性 pipeline,每个 agent 将结构化的 JSON 数据包传递给下一个: ``` EDR alert JSON │ ▼ ┌─────────────────┐ classify severity, dedupe │ 1. Triage │──────────────────────────────► NVIDIA NIM (Nemotron) └─────────────────┘ │ ▼ ┌─────────────────┐ IOCs, process tree, threat-intel enrichment │ 2. Forensic │──────────────────────────────► NVIDIA NIM (Nemotron) └─────────────────┘ │ ▼ ┌─────────────────┐ detonate file, capture blocked C2 beacon │ 3. Tool-Executor│──────────────────────────────► Docker sandbox └─────────────────┘ (default-deny network) │ ▼ ┌─────────────────┐ action + risk_score + rationale │ 4. Planner │──────────────────────────────► NVIDIA NIM (Nemotron) └─────────────────┘ │ ▼ ┌─────────────────┐ risk < threshold → auto-remediate │ 5. Supervisor │ risk ≥ threshold → escalate ─► Slack webhook └─────────────────┘ ``` | # | Agent | 职责 | 实际集成 | |---|-------|----------------|------------------| | 1 | Triage | 分类严重程度,告警去重 | NIM inference | | 2 | Forensic Examiner | 构建证据包,丰富 IOC | NIM inference + threat-intel | | 3 | Tool-Executor | 在隔离的 sandbox 中引爆文件 | **Docker**(真实工具调用) | | 4 | Remediation Planner | 决定行动 + 风险评分 | NIM inference | | 5 | Supervisor | 自动修复或上报 | **Slack webhook** | ## 演示场景 钓鱼邮件 → 打开恶意附件 → 恶意软件释放并 beacon 到 C2 IP → 触发 EDR 告警 → 集群端到端运行 → 在几秒钟内做出主机隔离决策, 并附带完整的证据链。最精彩的是第 3 步:恶意软件的 出站 C2 连接在 Docker sandbox 内部被**实时拦截**。 ## 技术栈 - **NVIDIA NIM** — 在 `https://integrate.api.nvidia.com/v1` 进行云端推理。 默认模型为 `nvidia/nemotron-3-nano-30b-a3b`。 - **Docker** — 用于引爆步骤的 sandbox 隔离(`--network none` 拦截 所有出站连接,`--read-only`,`--cap-drop ALL`)。 - **Python 3** — agent 逻辑与编排。仅进行推理,无训练。 ## 设置 ### 1. 前置条件 - Python 3.10+ - Docker Desktop 运行中(`docker info` 应成功执行) ### 2. 安装 Python 依赖 ``` python3 -m venv .venv .venv/bin/pip install -r requirements.txt ``` ### 3. 配置密钥 ``` cp .env.example .env # 编辑 .env 并填入: # NVIDIA_NIM_API_KEY — 来自 build.nvidia.com # SLACK_WEBHOOK_URL — 你的 Slack 入站 webhook # RISK_SCORE_THRESHOLD — 默认 0.7 ``` ### 4. NIM 连通性冒烟测试 ``` ./scripts/smoke_test.sh ``` ## 运行演示 ``` ./scripts/run_demo.sh ``` 这会针对 `mock_data/edr_alert.json` 中的模拟 EDR 告警运行完整的 5-agent pipeline,并将完整的 JSON trace 写入 `pipeline_output.json`。 ## 评估 一个小型评估循环会根据已知的 ground truth 衡量每个 agent 的延迟和决策正确性: ``` .venv/bin/python eval/evaluate.py ``` 结果将写入 `eval/results.json`。有关指标 和 ground truth fixtures,请参阅 [`eval/`](eval/)。 ## 项目结构 ``` agents/ one file per agent (triage, forensic, executor, planner, supervisor) mock_data/ synthetic EDR alert + stubbed threat-intel sandbox_policy/ Docker sandbox policy (default-deny network) eval/ evaluation harness + ground truth docs/ architecture + demo script scripts/ run_demo.sh, smoke_test.sh nemoclaw.py NIM Privacy Router wrapper pipeline.py end-to-end orchestration ``` ## 已知限制 - Docker sandbox 是单 container 的 — 无法处理并发的多事件。 - 演示数据是合成的,而非实时的 SIEM feed。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:DLL 劫持, IP 地址批量处理, 大语言模型, 威胁情报, 安全运营, 开发者工具, 扫描框架, 沙箱分析, 网络信息收集, 自动化响应, 请求拦截