yasir23/vigil

GitHub: yasir23/vigil

Vigil 是一个 Rust 编写的本地自主威胁情报智能体,在终端中实现威胁狩猎、检测规则生成与事件调查,支持离线运行和多源数据集成。

Stars: 0 | Forks: 0

![Whisk_a8b2ecacf3b94b7969940979aa5b931edr](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/59486de948192130.jpg) 您专属的威胁情报智能体。支持任何操作系统、任何平台。安全优先。🛡️ [![Crates.io](https://img.shields.io/crates/v/vigil?style=flat-square&color=dc2626)](https://crates.io/crates/vigil) [![License: MIT](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE) [![Build](https://img.shields.io/github/actions/workflow/status/yasir23/vigil/ci.yml?style=flat-square)](https://github.com/yasir23/vigil/actions) [![Stars](https://img.shields.io/github/stars/yasir23/vigil?style=flat-square&color=f59e0b)](https://github.com/yasir23/vigil/stargazers) [![Discord](https://img.shields.io/discord/000000000?style=flat-square&color=5865f2&label=discord)](https://discord.gg/nayaflow) [网站](https://nayaflow.com) · [文档](https://docs.nayaflow.com) · [新手入门](#getting-started) · [Discord](https://discord.gg/nayaflow) Vigil Bot 是一个运行在您本地机器上的自主威胁情报智能体。它负责追踪威胁、生成检测规则、调查事件以及基于失陷指标进行深入分析——所有操作都在您的终端中完成,无需依赖云服务。 CLI 仅仅是控制平面——其核心产品是智能体。如果您需要一位快速、本地优先、始终在线,且体验如同资深 SOC 分析师般的威胁猎手,它就是您的不二之选。 单一二进制文件。无需 Python。无供应商锁定。可在包括物理隔离环境在内的任何地方运行。 推荐设置:在终端中运行引导向导 (`vigil onboard`)。该向导将一步步引导您完成 LLM、日志源和威胁情报源的设置。 ## 新手入门 **macOS / Linux** ``` curl -fsSL https://nayaflow.com/install.sh | bash ``` **Windows (PowerShell)** ``` iwr -useb https://nayaflow.com/install.ps1 | iex ``` **Cargo** ``` cargo install vigil ``` **Homebrew** ``` brew tap yasir23/vigil && brew install vigil ``` 然后运行引导向导: ``` vigil onboard ``` 该向导将引导您完成所有设置:LLM 提供商、日志源、威胁情报源以及您的第一次威胁狩猎。 ## Vigil Bot 的功能 Vigil Bot 是一款本地优先的 AI 网络安全智能体。它能基于您的数据进行推理,使用您的工具,并像真正的分析师一样工作——不仅回答问题,更能自主采取行动。 - **威胁狩猎** — 在您的日志源中调查 IOC,基于相关指标进行深入分析,映射至 MITRE ATT&CK,生成报告 - **检测工程** — 用通俗语言描述一种行为,即可获得可直接用于生产环境的 Sigma、YARA 或 KQL 规则 - **事件响应** — 输入警报或工件,获取完整的调查时间线和 IR 报告草稿 - **漏洞分析** — 结合您的环境分析 CVE,检查暴露情况,获取修复步骤 - **侦查与红队** — 被动侦查流水线、工具链整合、自动化渗透测试报告草稿 - **Playbook** — 基于 YAML 定义的智能体工作流,可在团队中保存、共享和复用 ## 快速演示 ``` $ vigil hunt --ioc "185.220.101.47" ⠿ Querying Elasticsearch... 12 events found ⠿ Pivoting on related IOCs... 3 related IPs ⠿ Enriching via VirusTotal... Malicious (67/90) ⠿ Correlating MITRE ATT&CK... T1071.001, T1090 ╔══════════════════════════════════════════════════╗ ║ THREAT SUMMARY ║ ╠══════════════════════════════════════════════════╣ ║ IOC 185.220.101.47 ║ ║ Verdict MALICIOUS — High Confidence ║ ║ Actor Tor exit node / C2 relay ║ ║ Technique T1071.001 · T1090 ║ ║ Related 185.220.101.48, 185.220.101.51 ║ ╚══════════════════════════════════════════════════╝ → Report saved: ./reports/hunt-20250127-143201.md ``` ## LLM 设置 Vigil Bot 兼容任何 OpenAI 兼容端点。 ``` # Anthropic Claude (推荐 — 最佳推理能力,最强的 prompt-injection 抵抗力) vigil config set llm.provider anthropic vigil config set llm.api_key sk-ant-... # OpenAI vigil config set llm.provider openai vigil config set llm.api_key sk-... # 本地 / 完全离线 (Ollama) vigil config set llm.provider ollama vigil config set llm.model llama3.1:70b ``` **物理隔离/离线模式:** Ollama 的支持意味着数据绝不离境。Vigil Bot 开箱即支持物理隔离 SOC、政府网络以及受合规限制的环境 (FedRAMP, PCI-DSS, HIPAA)。 ## 连接数据源 ``` # Log sources vigil source add elastic --url http://localhost:9200 --index logs-* vigil source add splunk --url https://splunk:8089 --token YOUR_TOKEN vigil source add loki --url http://localhost:3100 # Threat intel vigil source add virustotal --api-key YOUR_KEY vigil source add shodan --api-key YOUR_KEY vigil source add abuseipdb --api-key YOUR_KEY vigil source add misp --url https://misp.internal --key YOUR_KEY ``` 运行 `vigil source list` 查看所有已连接的数据源及其健康状态。 ## 使用方法 ### 威胁狩猎 ``` vigil hunt --ioc "185.220.101.47" vigil hunt --ioc "evil.example.com" --sources elastic,splunk vigil hunt --hypothesis "lateral movement via RDP from workstations to servers" vigil hunt --ioc-file ./iocs.txt --parallel 5 --output json ``` ### 检测规则生成 ``` vigil detect generate --behavior "PowerShell downloading base64 payload" --format sigma vigil detect generate --technique T1059.001 --format yara vigil detect generate --behavior "Suspicious scheduled task creation" --format kql --platform sentinel vigil detect test ./rules/my-rule.yml --source elastic --dry-run ``` ### 事件响应 ``` vigil ir investigate --alert-id "ALERT-2025-0042" --source splunk vigil ir analyze --file ./suspicious.exe vigil ir timeline --start "2025-01-27T00:00:00Z" --entity "workstation-42" vigil ir report --incident ./incidents/inc-001.json --format markdown ``` ### 漏洞分析 ``` vigil vuln analyze --cve CVE-2024-12345 --inventory ./assets.json vigil vuln exposure --product nginx --version 1.18.0 ``` ### 健康检查 ``` vigil doctor ``` 运行 `vigil doctor` 可在错误配置影响实际调查之前,发现数据源配置错误、API 密钥缺失和连接问题。 ## Playbook Playbook 是基于 YAML 定义的智能体工作流。可在团队中保存、共享和复用常见的调查模式。 ``` # playbooks/ransomware-hunt.yml name: Ransomware Indicator Hunt description: Hunt for common ransomware TTPs across endpoints and network logs author: nayaflow tags: [ransomware, T1486] steps: - name: Hunt file encryption indicators action: hunt params: behavior: "mass file modification with extension changes" - name: Check known ransomware IOCs action: hunt params: ioc_list: ./iocs/ransomware-known.txt - name: Generate detection rules action: detect.generate params: technique: T1486 formats: [sigma, yara] - name: Produce report action: report params: format: markdown mitre_mapping: true ``` ``` vigil playbook run ./playbooks/ransomware-hunt.yml vigil playbook list # browse community playbooks vigil playbook pull ransomware-hunt ``` 社区 Playbook 位于 [`/playbooks`](./playbooks)。欢迎贡献。 ## 流水线 / 自动化 退出代码为机器可读格式:`0` 干净 · `1` 可疑 · `2` 恶意 · `3` 错误 ``` # 用于脚本编写的 JSON output vigil hunt --ioc "$ALERT_IP" --output json --silent | jq .verdict # Bulk scan cat daily-iocs.txt | xargs -I{} vigil hunt --ioc {} --output json >> results.ndjson # GitHub Actions - name: Scan extracted domains run: | vigil hunt --ioc-file domains.txt --output json \ | jq 'select(.verdict == "MALICIOUS")' \ | tee malicious.json ``` ## 集成 **日志源** — Elasticsearch · OpenSearch · Splunk · Loki · Microsoft Sentinel (beta) · Chronicle (beta) · AWS CloudTrail (计划中) · Azure Monitor (计划中) **威胁情报** — VirusTotal · Shodan · AbuseIPDB · MISP · AlienVault OTX · MITRE ATT&CK **输出** — Markdown · JSON/NDJSON · PDF · STIX 2.1 · Sigma · YARA · KQL · SPL ## 配置 配置文件位于 `~/.config/vigil/config.toml`。运行 `vigil config edit` 打开它。 ``` [llm] provider = "anthropic" model = "claude-opus-4-6" api_key_env = "ANTHROPIC_API_KEY" temperature = 0.1 [agent] max_iterations = 10 timeout_secs = 120 [output] default_format = "markdown" report_dir = "~/.vigil/reports" [sources.elastic] url = "http://localhost:9200" index = "logs-*" ``` ## 构建基础 Vigil Bot 由三个顶级的 Rust 智能体框架驱动,每个框架都因特定用途而被选中。 ### [Agentor](https://github.com/agentor-ai/agentor) — 调查性 IR 与沙箱 处理 Vigil 中涉及文件操作的高风险部分——恶意软件分析、工件检查和沙箱执行。基于 WASM 的隔离意味着恶意文件无法逃离智能体的推理循环并危害您的机器。 最适用于:`vigil ir analyze`, `vigil recon` ### [GraphBit](https://github.com/graphbit) — 确定性 SOC 编排 运行多步骤的 pivoting 逻辑。当 Vigil 在 Elasticsearch、VirusTotal 和 Shodan 上并行搜索 IOC 时,GraphBit 基于图的编排引擎可确保每次运行的结果一致且可重复——没有幻觉,没有无限循环。同时处理内置的 API 密钥(Shodan, MISP, VT)密钥管理。 最适用于:`vigil hunt`, `vigil playbook run` ### [Rig](https://github.com/0xPlaygrounds/rig) — 模块化 LLM 链 `vigil detect` 和 `vigil vuln` 的轻量级骨干。Rig 让我们将每个命令定义为可组合的 LLM 链,而不会使二进制文件膨胀——这与 Vigil 本身的理念一致:快速、模块化、单一二进制。 最适用于:`vigil detect`, `vigil vuln` | | Agentor | GraphBit | Rig | |---|---|---|---| | 主要关注点 | 安全与沙箱 | 可靠性与确定性 | 模块化与性能 | | 沙箱技术 | 基于 WASM 的隔离 | 资源类型安全 | 基础 Rust 安全机制 | | 工作流 | 基于任务的智能体 | 基于图的编排 | 模块化 LLM 链 | | 最佳用例 | 调查性 IR 工具 | 大规模 SOC 编排 | 通用基于 CLI 的智能体 | ## 架构 ``` CLI (clap) └── Agent engine (Rust) ├── LLM client — Anthropic · OpenAI · Ollama ├── Tool registry — log query · threat intel · rule gen · file analysis └── Memory / state — local (sled) · session context └── Data sources Elastic · Splunk · Loki · VT · Shodan · MISP · OTX ``` ## 安全 请勿公开披露漏洞。请发送邮件至 [yasir@nayaflow.com](mailto:yasir@nayaflow.com) 或使用 [GitHub 私人报告](https://github.com/yasir23/vigil/security/advisories/new)。 运行 `vigil doctor` 可在暴露服务前发现风险或错误配置。在将 Vigil Bot 暴露于网络之前,请查阅 [SECURITY.md](./SECURITY.md)。 ## 路线图 - [x] 核心智能体引擎 - [x] Elastic · Splunk · Loki 日志源 - [x] VirusTotal · Shodan · AbuseIPDB · MISP 富化 - [x] Sigma · YARA · KQL 规则生成 - [x] Ollama / 本地 LLM 支持 - [x] Playbook 系统 - [x] `vigil doctor` 健康检查 - [ ] Microsoft Sentinel (稳定版) - [ ] Chronicle 集成 - [ ] AWS CloudTrail 数据源 - [ ] Azure Monitor 数据源 - [ ] STIX 2.1 输出 - [ ] MCP 服务器模式 - [ ] VSCode 扩展 - [ ] Web UI 伴侣 在 [GitHub Discussions](https://github.com/yasir23/vigil/discussions) 中为功能投票。 ## 许可证 MIT © 2025 [Nayaflow](https://nayaflow.com) 专为防御性安全构建。用户需自行遵守适用的法律和政策。 Vigil Bot 由 Yasir 和社区构建。🦅 by [Nayaflow](https://nayaflow.com).
[nayaflow.com](https://nayaflow.com) · [文档](https://docs.nayaflow.com) · [Discord](https://discord.gg/nayaflow) · [GitHub](https://github.com/yasir23/vigil)
标签:AI风险缓解, C2, Cloudflare, EDR辅助, HTTP/HTTPS抓包, HTTP工具, IOC分析, MITRE ATT&CK, Rust, 可视化界面, 后渗透, 威胁情报, 安全运营, 开发者工具, 态势感知, 扫描框架, 插件系统, 文档结构分析, 本地优先, 检测规则生成, 终端安全, 网络安全, 网络安全审计, 网络流量审计, 自动化代理, 隐私保护