tidbocode/ThreatLens

GitHub: tidbocode/ThreatLens

一个基于LangChain和Ollama的本地化威胁情报问答代理,通过RAG技术将多源开源威胁情报向量化后支持自然语言查询。

Stars: 0 | Forks: 0

# ThreatLens LangChain 驱动的威胁情报问答代理 — 通过 Ollama 完全本地运行。 拉取实时威胁情报源(MITRE ATT&CK、ThreatFox、AlienVault OTX),将其索引到本地向量存储中,并回答有关威胁组织、TTP、IOC、CVE 和恶意软件的自然语言问题。 ## 前置条件 - 本地运行 [Ollama](https://ollama.com)(`ollama serve`) - 需要下载的模型: ollama pull mistral:7b ollama pull nomic-embed-text ## 设置 **本地** ``` pip install -r requirements.txt cp .env.example .env # optionally add OTX_API_KEY ``` **Docker** ``` cp .env.example .env # optionally add OTX_API_KEY docker compose build ``` ## 使用方法 **摄取实时威胁情报源**(MITRE ATT&CK + ThreatFox + 如果设置了 OTX 密钥): ``` # local python main.py ingest # docker docker compose run --rm threatlens ingest ``` **提出单个问题:** ``` # local python main.py ask "What TTPs does APT29 use?" # docker docker compose run --rm threatlens ask "What TTPs does APT29 use?" ``` **交互式聊天:** ``` # local python main.py chat # docker docker compose run --rm threatlens chat ``` ## 项目结构 ``` ThreatLens/ ├── chroma_db/ # vector store (auto-created on first ingest) ├── src/threatlens/ │ ├── feeds/ │ │ ├── mitre.py # MITRE ATT&CK techniques │ │ ├── abusech.py # ThreatFox IOCs (last 7 days) │ │ └── otx.py # AlienVault OTX pulses (optional) │ ├── config.py # env-based configuration │ ├── ingest.py # feed ingestion and embedding │ └── agent.py # RAG chain (Ollama + Chroma) ├── main.py # CLI entry point ├── requirements.txt ├── Dockerfile ├── docker-compose.yml └── .env.example ``` ## 配置 所有设置都可在 `.env` 中覆盖: | 变量 | 默认值 | 描述 | |---|---|---| | `OLLAMA_BASE_URL` | `http://localhost:11434` | Ollama 服务器 URL | | `CHAT_MODEL` | `mistral:7b` | 聊天模型(必须在 Ollama 中下载) | | `EMBED_MODEL` | `nomic-embed-text` | 嵌入模型(必须在 Ollama 中下载) | | `OTX_API_KEY` | — | AlienVault OTX 密钥(可选,在 otx.alienvault.com 免费获取) | | `CHROMA_PATH` | `./chroma_db` | 向量存储路径 | | `CHUNK_SIZE` | `500` | 每个分块的字符数 | | `CHUNK_OVERLAP` | `50` | 分块之间的重叠 | | `RETRIEVAL_K` | `5` | 每次查询检索的文档数 |
标签:AI风险缓解, APT分析, Chroma, Cloudflare, CVE, DAST, DLL 劫持, Docker, IOC, LangChain, LLM, LLM评估, MITRE ATT&CK, Ollama, Python, RAG, ThreatFox, TTP, Unmanaged PE, 向量数据库, 大语言模型, 威胁情报, 安全运营, 安全防御评估, 开发者工具, 恶意软件分析, 扫描框架, 数字签名, 无后门, 本地大模型, 本地部署, 检索增强生成, 网络安全, 自动化威胁情报, 请求拦截, 轻量级, 逆向工具, 问答系统, 隐私保护, 隐私安全