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

您专属的威胁情报智能体。支持任何操作系统、任何平台。安全优先。🛡️
[](https://crates.io/crates/vigil)
[](LICENSE)
[](https://github.com/yasir23/vigil/actions)
[](https://github.com/yasir23/vigil/stargazers)
[](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, 可视化界面, 后渗透, 威胁情报, 安全运营, 开发者工具, 态势感知, 扫描框架, 插件系统, 文档结构分析, 本地优先, 检测规则生成, 终端安全, 网络安全, 网络安全审计, 网络流量审计, 自动化代理, 隐私保护