cyberviser/Hancock

GitHub: cyberviser/Hancock

基于 Mistral 7B 微调的网络安全 AI 智能体,覆盖渗透测试、SOC 分析、事件响应和 CISO 顾问等多场景,通过专业化训练数据提供安全运营全流程辅助。

Stars: 2 | Forks: 1

# 🛡️ Hancock — CyberViser AI 安全智能体
![Hancock Banner](https://img.shields.io/badge/CyberViser-Hancock-00ff88?style=for-the-badge&logo=hackthebox&logoColor=black) [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-blue?logo=python)](https://python.org) [![Model](https://img.shields.io/badge/Model-Mistral%207B-orange?logo=huggingface)](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3) [![NVIDIA NIM](https://img.shields.io/badge/NVIDIA-NIM-76b900?logo=nvidia)](https://build.nvidia.com) [![Website](https://img.shields.io/badge/Website-Live-00ff88?logo=netlify)](https://cyberviser.netlify.app) [![Netlify](https://img.shields.io/badge/Netlify-Live-00C7B7?style=flat-square&logo=netlify)](https://cyberviser.netlify.app) **通过专用 LLM 自动化网络安全 —— 从渗透测试到 SOC 分析。** [🌐 网站](https://cyberviser.netlify.app) · [📖 API 文档](https://cyberviser.netlify.app/api) · [📋 商业计划书](BUSINESS_PROPOSAL.md) · [🐛 报告 Bug](https://github.com/cyberviser/Hancock/issues) · [✨ 请求功能](https://github.com/cyberviser/Hancock/issues)
## 🚀 什么是 Hancock? Hancock 是 **CyberViser** 的 AI 驱动网络安全智能体,基于 Mistral 7B 进行了微调,使用: - **MITRE ATT&CK** — TTP、战术、程序 - **NVD/CVE** — 真实漏洞数据 - **渗透测试知识库** — 侦察、利用、后渗透 它以三种专家模式运行,并公开了一个简洁的 REST API。 ``` ╔══════════════════════════════════════════════════════════╗ ║ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ██████╗ ██████╗██╗ ║ ║ ██║ ██║██╔══██╗████╗ ██║██╔════╝██╔═══██╗██╔════╝██║ ║ ║ ███████║███████║██╔██╗ ██║██║ ██║ ██║██║ ██║ ║ ║ ██╔══██║██╔══██║██║╚██╗██║██║ ██║ ██║██║ ██╚╗║ ║ ██║ ██║██║ ██║██║ ╚████║╚██████╗╚██████╔╝╚██████╗╚═╝║║ ║ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ║ ║ CyberViser — Pentest + SOC Specialist ║ ╚══════════════════════════════════════════════════════════╝ ``` ## 📋 目录 - [功能特性](#-features) - [快速开始](#-quick-start) - [API 参考](#-api-reference) - [微调](#-fine-tuning) - [路线图](#-roadmap) - [贡献指南](#-contributing) - [许可证](#-license) ## ✨ 功能特性 | 模式 | 描述 | 状态 | |------|-------------|--------| | 🔴 **Pentest Specialist** | 侦察、利用、CVE 分析、PTES 报告 | ✅ 已上线 | | 🔵 **SOC Analyst** | 告警分类、SIEM 查询、PICERL IR、Sigma/YARA | ✅ 已上线 | | ⚡ **Auto** | 渗透测试与 SOC 之间的上下文感知切换 | ✅ 已上线 | | 💻 **Code** | 安全代码:YARA, KQL, SPL, Sigma, Python, Bash | ✅ 已上线 | | 👔 **CISO** | 合规、风险报告、董事会摘要、差距分析 | ✅ 已上线 | | 🔍 **Sigma** | 带有 ATT&CK 标记的 Sigma 检测规则编写 | ✅ 已上线 | | 🦠 **YARA** | YARA 恶意软件检测规则编写 | ✅ 已上线 | | 🔎 **IOC** | IOC 的威胁情报富化 | ✅ 已上线 | | 🔐 **GraphQL Security** | GraphQL 认证/授权测试、IDOR 检测、JWT 安全 | ✅ 已上线 | ## ⚡ 快速开始 ### 1. 安装依赖 ``` git clone https://github.com/cyberviser/Hancock.git cd Hancock python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt ``` ### 2. 配置 API 密钥 ``` cp .env.example .env # 编辑 .env 并添加您的 NVIDIA API key # 免费获取:https://build.nvidia.com ``` ### 3. 运行 CLI ``` export NVIDIA_API_KEY="nvapi-..." python hancock_agent.py ``` ### 4. 或者作为 REST API 服务器运行 ``` python hancock_agent.py --server --port 5000 ``` ### 5. 构建训练数据集 ``` # v2 dataset (pentest + SOC): python hancock_pipeline.py --phase all # v3 dataset (+ CISA KEV + Atomic Red Team + GitHub Advisories): python hancock_pipeline.py --phase 3 ``` ### 6. 在 Mistral 7B 上微调 Hancock ``` python hancock_finetune.py ``` ## 🌐 API 参考 启动服务器:`python hancock_agent.py --server` ### 端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `GET` | `/health` | 智能体状态和能力 | | `GET` | `/metrics` | 兼容 Prometheus 的请求计数器 | | `GET` | `/v1/agents` | 所有智能体系统提示词和默认值 | | `POST` | `/v1/chat` | 带历史记录 + 流式传输的对话式 AI | | `POST` | `/v1/ask` | 单次问答 | | `POST` | `/v1/triage` | SOC 告警分类 + MITRE ATT&CK 映射 | | `POST` | `/v1/hunt` | 威胁狩猎查询生成器 (Splunk/Elastic/Sentinel) | | `POST` | `/v1/respond` | PICERL 事件响应剧本 | | `POST` | `/v1/code` | 安全代码生成 (YARA/Sigma/KQL/SPL) | | `POST` | `/v1/ciso` | CISO 顾问:风险、合规、董事会报告、差距分析 | | `POST` | `/v1/sigma` | Sigma 检测规则生成器 | | `POST` | `/v1/yara` | YARA 恶意软件检测规则生成器 | | `POST` | `/v1/ioc` | IOC 威胁情报富化 (IP, 域名, URL, 哈希, 邮箱) | | `POST` | `/v1/webhook` | 接收来自 Splunk/Elastic/Sentinel/CrowdStrike 的告警 | ### 示例 **告警分类:** ``` curl -X POST http://localhost:5000/v1/triage \ -H "Content-Type: application/json" \ -d '{"alert": "Mimikatz detected on DC01 at 03:14 UTC"}' ``` **威胁狩猎:** ``` curl -X POST http://localhost:5000/v1/hunt \ -H "Content-Type: application/json" \ -d '{"target": "lateral movement via PsExec", "siem": "splunk"}' ``` **Sigma 规则生成:** ``` curl -X POST http://localhost:5000/v1/sigma \ -H "Content-Type: application/json" \ -d '{"description": "Detect LSASS memory dump", "logsource": "windows sysmon", "technique": "T1003.001"}' ``` **YARA 规则生成:** ``` curl -X POST http://localhost:5000/v1/yara \ -H "Content-Type: application/json" \ -d '{"description": "Cobalt Strike beacon default HTTP profile", "file_type": "PE"}' ``` **IOC 富化:** ``` curl -X POST http://localhost:5000/v1/ioc \ -H "Content-Type: application/json" \ -d '{"indicator": "185.220.101.35", "type": "ip"}' ``` **GraphQL 安全测试:** ``` # 生成 GraphQL 安全知识库 python collectors/graphql_security_kb.py # 运行 GraphQL 安全测试(需要授权) python collectors/graphql_security_tester.py \ --url https://api.example.com/graphql \ --token \ --verbose \ --report graphql_security_report.json ``` **CISO 董事会摘要:** ``` curl -X POST http://localhost:5000/v1/ciso \ -H "Content-Type: application/json" \ -d '{"question": "Summarise top 5 risks for the board", "output": "board-summary", "context": "50-person SaaS, AWS"}' ``` **事件响应剧本:** ``` curl -X POST http://localhost:5000/v1/respond \ -H "Content-Type: application/json" \ -d '{"incident": "ransomware"}' ``` ### CLI 命令 ``` /mode pentest — switch to Pentest Specialist /mode soc — switch to SOC Analyst /mode auto — combined persona (default) /mode code — security code (Qwen Coder 32B) /mode ciso — CISO strategy & compliance /mode sigma — Sigma detection rule authoring /mode yara — YARA malware detection rule authoring /mode ioc — IOC threat intelligence enrichment /clear — clear conversation history /history — show history /model — switch NVIDIA NIM model /exit — quit ``` ## 🤖 微调 Hancock 在 Mistral 7B 上使用 **LoRA 微调** —— 基于多源网络安全数据集(MITRE ATT&CK + NVD CVE + SOC/Pentest KB + CISA KEV + Atomic Red Team + GitHub Security Advisories)进行训练。 ### ⚡ 一键启动:Colab / Kaggle (免费 T4) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/cyberviser/Hancock/blob/main/Hancock_Universal_Finetune.ipynb) 适用于 Google Colab 和 Kaggle **两者** —— 自动检测环境: 1. 点击上方徽章(或在 Kaggle 上导入 `Hancock_Universal_Finetune.ipynb`) 2. **启用 GPU** (Colab: 运行时 → T4 GPU / Kaggle: 设置 → 加速器 → T4) 3. **运行所有** (~30 分钟) 4. 最后下载 GGUF Q4_K_M —— 使用 Ollama 在本地运行 或者直接使用 CLI 脚本: ``` python hancock_finetune_v3.py --steps 300 --export-gguf --push-to-hub ``` ### CPU 微调(无需 GPU) 在任意机器上运行 —— 使用 LoRA 训练 TinyLlama-1.1B(适配器已包含): ``` # 快速测试(10 步,约 40 分钟) python hancock_cpu_finetune.py --debug # 完整运行(500 步,在 16 核 CPU 上约 25 小时) python hancock_cpu_finetune.py --max-steps 500 # 加载并测试已保存的 adapter python hancock_cpu_finetune.py --test ``` 预训练适配器:[`hancock-cpu-adapter/`](./hancock-cpu-adapter/) — TinyLlama-1.1B + LoRA (r=8, eval_loss=2.084) ### 其他 GPU 选项 | 平台 | GPU | 成本 | 脚本 | |----------|-----|------|--------| | Google Colab | T4 16GB | 免费 (15 小时/天) | `Hancock_Universal_Finetune.ipynb` | | Kaggle | T4 16GB | 免费 (30 小时/周) | `Hancock_Universal_Finetune.ipynb` | | Modal.com | T4/A10G | 每月免费 $30 | `modal run train_modal.py` | | 任意 GPU 服务器 | 任意 | 不定 | `python hancock_finetune_gpu.py` | ### 训练后 —— 本地运行 ``` # 在 Ollama 中加载 fine-tuned 模型 ollama create hancock -f Modelfile.hancock-finetuned ollama run hancock ``` ### 训练数据 | 数据集 | 样本数 | 来源 | 命令 | |---------|---------|---------|---------| | `hancock_v2.jsonl` | 1,375 | MITRE ATT&CK + NVD CVE + Pentest KB + SOC KB | `python hancock_pipeline.py --phase 2` | | `hancock_v3.jsonl` | 5,670 | v2 + CISA KEV + Atomic Red Team + GitHub Security Advisories | `python hancock_pipeline.py --phase 3` | ``` # 生成最新的 v3 dataset(需要联网) python hancock_pipeline.py --phase 3 # 或仅离线(静态 KB,无需联网) python hancock_pipeline.py --kb-only ``` ``` data/ ├── hancock_pentest_v1.jsonl # Pentest training data (MITRE + CVE + KB) ├── hancock_v2.jsonl # v2 dataset — pentest + SOC └── hancock_v3.jsonl # v3 dataset — + CISA KEV + Atomic Red Team + GHSA (build with --phase 3) collectors/ ├── mitre_collector.py # Fetches MITRE ATT&CK TTPs ├── nvd_collector.py # Fetches NVD/CVE vulnerability data ├── pentest_kb.py # Pentest knowledge base Q&A ├── soc_collector.py / soc_kb.py ├── cisa_kev_collector.py # CISA Known Exploited Vulnerabilities ├── atomic_collector.py # Atomic Red Team test cases ├── ghsa_collector.py # GitHub Security Advisories ├── graphql_security_kb.py # GraphQL auth/authz vulnerability KB └── graphql_security_tester.py # GraphQL security testing framework formatter/ ├── to_mistral_jsonl.py # v1 formatter ├── to_mistral_jsonl_v2.py # v2 formatter └── formatter_v3.py # v3 formatter — merges all sources ``` ## 🗺️ 路线图 | 阶段 | 重点 | 状态 | |-------|-------|--------| | **阶段 1** | 渗透测试专家 + SOC REST API | ✅ 已上线 | | **阶段 2** | SOC 深度专业化 + v3 数据集 (KEV/Atomic/GHSA) | ✅ 已上线 | | **阶段 3** | CISO 策略 + 合规自动化 | ✅ 已上线 | | **阶段 4** | 企业平台 + SIEM/SOAR 集成 | 📋 已计划 | ## 🤝 贡献指南 欢迎贡献!请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。 1. Fork 本仓库 2. 创建功能分支:`git checkout -b feat/my-feature` 3. 提交更改:`git commit -m 'feat: add my feature'` 4. 推送并开启 PR ## 📄 许可证 **CyberViser 专有许可证** —— 完整条款见 [LICENSE](LICENSE)。 - ✅ 查看和学习代码 - ✅ 在本地运行用于个人/研究用途 - ✅ 提交贡献(转让给 CyberViser) - ❌ 未经书面许可协议的商业使用 - ❌ 重新分发或转售 - ❌ 构建竞争性产品或服务 - ❌ 基于代码或数据集训练 AI/ML 模型 - ❌ 贴牌或移除 CyberViser 品牌 **商业许可联系方式:** contact@cyberviser.ai
CyberViser 构建 · 由 NVIDIA NIM · Mistral 7B · LoRA 提供支持
标签:AI风险缓解, CISA项目, Cloudflare, CVE, CyberViser, DLL 劫持, meg, Mistral 7B, MITRE ATT&CK, NVIDIA NIM, PE 加载器, Python, REST API, SOC分析, StruQ, Web报告查看器, 人工智能, 信息安全, 大语言模型, 子域名变形, 密码管理, 微调, 插件系统, 数字签名, 数据展示, 无后门, 用户模式Hook绕过, 红队, 结构化查询, 网络安全, 网络安全审计, 自动化安全, 自定义请求头, 逆向工具, 隐私保护