mahfujde/A-LIFECYCLE-WIDE-EVALUATION-AND-MITIGATION-FRAMEWORK-FOR-TRUSTWORTHY-AI-IN-CYBER-THREAT-INTELLIGENCE

GitHub: mahfujde/A-LIFECYCLE-WIDE-EVALUATION-AND-MITIGATION-FRAMEWORK-FOR-TRUSTWORTHY-AI-IN-CYBER-THREAT-INTELLIGENCE

CTI-Shield 是一个基于多 Agent 和混合 RAG 的网络威胁情报框架,旨在通过幻觉防护和信任度评分机制为 AI 在 CTI 场景中提供可信赖的全生命周期评估与缓解能力。

Stars: 0 | Forks: 0

# 🛡️ CTI-Shield **AI 驱动的网络威胁情报框架** 一个涵盖全生命周期、具备自学习能力、基于多 Agent 的 CTI 系统,并通过 RAG 减轻幻觉问题。 开源 · 免费 · 无需任何网络安全专业知识即可部署。 # CTI-Shield 面向网络威胁情报领域可信赖 AI 的全生命周期评估与缓解框架。 CTI-Shield 集成了 Streamlit 仪表盘、8 个 Agent 编排的分析 pipeline、混合检索技术栈、幻觉防护机制、信任度评分、STIX 2.1 输出,以及用于可重复评估的内置研究工具套件。 ## 此仓库包含的内容 可运行的应用程序位于此目录中。它包括: - `app.py` 用于 Streamlit UI - `orchestrator.py` 用于多 Agent pipeline - `agents/` 用于 Agent 实现 - `cti_shield/` 用于核心 CTI 工具、防护机制、检索、输出和信任逻辑 - `research/` 用于评估脚本和结果产物 - `tests/` 用于 pytest 测试套件 - `data/` 用于语料库、向量索引和 OSINT 报告样本 ## 核心功能 - 支持从原始文本、安全公告和 OSINT 片段中进行威胁报告分析 - 提取 CVE、IOC 和 TTP,并映射至 MITRE ATT&CK - 具备 FAISS 向量搜索和知识图谱检索的混合 RAG - 具有多层防护的幻觉检测 - 符合结构化评估规则的信任度评分 - 支持 STIX 2.1 导出和 Markdown 报告 - 提供个人防护实用工具,例如安全卫生评分和 URL 风险检查 - 包含用于消融实验、归因分析、基线对比和真实场景评估的研究脚本 ## 仓库结构 ``` . ├── app.py ├── orchestrator.py ├── config.py ├── requirements.txt ├── setup.sh ├── agents/ ├── cti_shield/ ├── data/ ├── research/ └── tests/ ``` ## 快速开始 ``` python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt streamlit run app.py ``` 然后在浏览器中打开 `http://localhost:8501`。 ## 安装选项 ### 自动化设置 ``` chmod +x setup.sh ./setup.sh ``` ### Docker ``` docker compose up --build ``` Docker 会连同启动仪表盘以及 Ollama 和 Neo4j 等支持服务。 ### 手动设置 ``` python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env streamlit run app.py ``` ## 运行模式 | 模式 | 描述 | 最佳用途 | |---|---|---| | Demo | 无需 API key,阈值较宽松 | 快速探索和演示 | | Local+LLM | 在本地下载 Hugging Face 模型 | 在 CPU 上离线使用 | | Ollama | 使用本地 Ollama 服务器 | 私有本地推理 | | API | 通过 LiteLLM 使用云端 LLM 提供商 | 带有严格防护的托管模型访问 | | Full | 同时使用云端和本地模型 | 比较和基准测试 | ## 架构概述 该 pipeline 遵循全生命周期流程: 1. 输入适配和策略分类 2. 预处理和 IOC 提取 3. 知识图谱构建和 NLP TTP 映射 4. 从实时来源进行 OSINT 丰富化 5. 结合检索和 LLM 生成的混合推理 6. 幻觉验证和漂移检测 7. 信任度评分、来源归因和生命周期评估 8. STIX 和 Markdown 输出生成 主编排路径在 `orchestrator.py` 中实现,仪表盘入口点位于 `app.py`。 ## 研究与评估 该仓库在 `research/` 目录下包含了可重复的评估工作流。 - `ablation_study.py` 比较检索和重排序配置 - `ragas_evaluator.py` 测量忠实度和答案相关性 - `attribution_aggregator.py` 测量来源可追溯性 - `guard_eval_dataset.py` 和 `guard_eval_runner.py` 运行幻觉防护测试 - `real_eval.py` 运行实时的安全公告评估路径 - `human_eval_tool.py` 支持盲测人工评分 输出将写入 `research/results/`。 ## 配置 在运行 API 或本地 LLM 模式之前,请复制示例环境文件: ``` cp .env.example .env ``` 常见变量包括: - `OPENROUTER_API_KEY` - `GEMINI_API_KEY` - `GROQ_API_KEY` - `CEREBRAS_API_KEY` - `COHERE_API_KEY` - `GITHUB_TOKEN` - `MISTRAL_API_KEY` - `HF_TOKEN` - `NVIDIA_API_KEY` - `SAMBANOVA_API_KEY` - `OPENAI_API_KEY` - `ANTHROPIC_API_KEY` 对于评估运行,代码库还会使用诸如 `CTI_EVAL_MODE`、`CTI_SKIP_OSINT` 和 `CTI_STRICT_LLM` 等标志。 ## 测试 ``` source venv/bin/activate python -m pytest tests/ -v ``` 指定示例: - `python -m pytest tests/test_guard_integration.py -v` - `python -m pytest tests/test_source_attributor.py -v` - `python -m pytest tests/test_stix.py -v` ## 输出 常见的输出位置包括: - `data/faiss_index/` 用于向量存储产物 - `data/kg_snapshot.json` 用于知识图谱快照 - `logs/` 用于运行时日志 - `research/results/` 用于评估 JSON、CSV 和报告文件 ## 故障排除 - 如果 Ollama 模式失败,请确保 Ollama 服务器正在运行,且所选模型已在本地拉取。 - 如果 API 模式返回错误,请验证 `.env` 中的提供商密钥,并确认您的账户可以访问该模型。 - 如果应用程序找不到其数据目录,请运行一次设置脚本或从此目录启动应用程序。 ## 许可证 如果 GitHub 项目中添加了仓库许可证文件,请参阅该文件。如果您公开发布此代码,请确保许可证符合您的预期分发条款。 | SamSam (TA18-106A) | US-CERT | 67% | | SolarWinds/SUNBURST | NCSC | 67% | | Scattered Spider (AA23-325A) | CISA | 67% | ## 📑 研究文档 ## | 文档 | 描述 | |----------|-------------| | [research/results/](research/results/) | 作为带时间戳 JSON 的所有评估数据 | ## ❓ 故障排除 | 问题 | 解决方案 | |---------|----------| | `ModuleNotFoundError` | 在 venv 中运行 `pip install -r requirements.txt` | | 端口 8501 被占用 | `streamlit run app.py --server.port 8502` | | Ollama 无法连接 | 启动 Ollama:`ollama serve` 或打开 Ollama.app | | Neo4j 连接被拒绝 | 启动 Neo4j 或忽略(回退至 NetworkX) | | `torch` 安装失败 | 尝试 `pip install torch --index-url https://download.pytorch.org/whl/cpu` | | M1 Mac 上出现 FAISS 导入错误 | `pip install faiss-cpu --no-cache-dir` | | API key 不起作用 | 检查 `.env` 文件,编辑后重启 Streamlit | ## 📄 许可证 MIT 许可证 — 个人和商业使用免费。详情请见 [LICENSE](LICENSE)。 ## ❤️ 为全人类而生 CTI-Shield 的存在是因为 **每个人都应该在网上保持安全**。 不仅仅是专家。也不仅仅是企业。而是 **所有人**。 如果您相信应让网络安全变得触手可及,请给此仓库 ⭐ 加星支持。
标签:AI风险缓解, DLL 劫持, Kubernetes, Python, Streamlit, 多智能体, 大语言模型, 威胁情报, 安全规则引擎, 开发者工具, 无后门, 检索增强生成, 特权检测, 网络安全, 访问控制, 请求拦截, 逆向工具, 隐私保护