cyberviser/Hancock
GitHub: cyberviser/Hancock
基于 Mistral 7B 微调的网络安全 AI 智能体,覆盖渗透测试、SOC 分析、事件响应和 CISO 顾问等多场景,通过专业化训练数据提供安全运营全流程辅助。
Stars: 2 | Forks: 1
# 🛡️ Hancock — CyberViser AI 安全智能体
\
--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)
[](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

[](LICENSE)
[](https://python.org)
[](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3)
[](https://build.nvidia.com)
[](https://cyberviser.netlify.app)
[](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
由 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绕过, 红队, 结构化查询, 网络安全, 网络安全审计, 自动化安全, 自定义请求头, 逆向工具, 隐私保护