PranavAchanta/stickynet
GitHub: PranavAchanta/stickynet
一个融合 LLM 欺骗引擎、BiLSTM 实时分类和自动化 STIX 2.1 威胁情报生成的 AI 驱动 SSH 蜜罐系统。
Stars: 0 | Forks: 0
# stickyNET 🍯





为 **Secure AI Software and Systems Hackathon 2026**(BITS Pilani K.K. Birla Goa 校区,ISEA Phase-III,2026年3月30日至31日)构建。**第一名 — HoneyCloud 实现(蓝队)。**
## 什么是 stickyNET?
stickyNET 是一个由 AI 驱动的 SSH 蜜罐,它能够欺骗攻击者,实时分类其行为,并在无需人工干预的情况下自主生成威胁情报。当攻击者连接时,Groq 的 llama-3.3-70b 模型会生成令人信服的伪造终端响应以吸引他们。基于 451,000 条真实 SSH 攻击记录训练的 BiLSTM 分类器能够跨六个攻击类别实时分析命令,一旦置信度超过 80%,n8n pipeline 就会自动生成映射到 MITRE ATT&CK 的 STIX 2.1 威胁情报包,触发 Discord 警报,并将威胁记录到 MongoDB —— 所有这一切均在两秒钟内完成。
stickyNET 的独特之处在于,它在一个开源 pipeline 中结合了由 LLM 驱动的欺骗、实时 ML 分类以及兼容 CERT-In 和主流 SIEM 的自主 STIX 2.1 报告功能。未来的发展方向包括自行托管 LLM 以实现离线部署,强化 SSH 指纹以防止被检测,以及扩展到通过单一仪表盘监控多个蜜罐。
## 工作原理
```
Attacker SSHes in
↓
Cowrie honeypot (port 2222) — fake Ubuntu shell
↓
Custom plugin intercepts every command
↓
Redis cache (40 commands, <10ms) or Groq LLM (150-200ms)
↓
Redis Stream → FastAPI backend → MongoDB
↓
BiLSTM classifier — 6 attack types, live confidence score
↓
Confidence > 80% → n8n webhook fires
↓
STIX 2.1 bundle + Discord alert + MongoDB threat record
↓
React dashboard — live feed, kill chain, STIX export
```
## 功能
- **LLM 欺骗引擎** — Groq 的 llama-3.3-70b 可生成上下文连贯的伪造终端响应。40 个常见命令缓存在 Redis 中以实现即时响应,新命令由 LLM 在约 200 毫秒内处理。
- **BiLSTM 分类器** — 基于 AWS Honeypot 数据集的 451,000 条真实 SSH 攻击记录进行训练。将会话分类为 6 种攻击类型:暴力破解、侦察、凭证窃取、恶意软件部署、横向移动和数据窃取。
- **MITRE ATT&CK 映射** — 每个命令都映射到 ATT&CK 技术 ID。攻击杀伤链 (Kill chain) 进展在仪表盘上实时可视化。
- **自主 n8n Pipeline** — Webhook → STIX 2.1 生成 → Discord 警报 → MongoDB。零人工干预。在 2 秒内触发。
- **STIX 2.1 威胁情报** — 验证后的数据包包含 Indicator、Attack Pattern、Observed Data 和 Relationship 对象。兼容 CERT-In,适配 SIEM。
- **React 仪表盘** — 实时命令推送、杀伤链视图、会话分析、全球威胁地图、STIX 导出和攻击回放。
## 技术栈
| 层级 | 技术 |
|---|---|
| 蜜罐 | Cowrie |
| LLM | Groq API (llama-3.3-70b-versatile) |
| 缓存 + 事件总线 | Redis Stream |
| 后端 | FastAPI + Motor (异步 MongoDB) |
| ML 模型 | PyTorch BiLSTM |
| 威胁情报 | STIX 2.1, MITRE ATT&CK |
| 编排 | n8n |
| 数据库 | MongoDB |
| 前端 | React + Tailwind + Recharts |
| 容器化 | Docker Compose |
## 架构
```
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Attacker │────▶│ Cowrie │────▶│ Redis Stream │
│ (SSH :2222)│ │ Honeypot │ │ attack_events │
└─────────────┘ └──────┬───────┘ └────────┬────────┘
│ │
┌──────▼───────┐ ┌─────────▼────────┐
│ Redis Cache │ │ FastAPI :8000 │
│ 40 commands │ │ Backend Brain │
│ <10ms │ └────────┬──────────┘
└──────────────┘ │
┌──────────────┐ ┌────────▼──────────┐
│ Groq LLM │ │ BiLSTM Classifier│
│ ~200ms resp │ │ 451K records │
└──────────────┘ └────────┬──────────┘
│ >80% confidence
┌────────▼──────────┐
│ n8n Workflow │
│ STIX + Discord │
│ + MongoDB │
└────────┬──────────┘
│
┌────────▼──────────┐
│ React Dashboard │
│ localhost:3000 │
└───────────────────┘
```
## 端口
| 服务 | 端口 |
|---|---|
| Cowrie SSH 蜜罐 | 2222 |
| FastAPI 后端 | 8000 |
| STIX API | 8001 |
| Redis | 6379 |
| MongoDB | 27017 |
| n8n | 5678 |
| React 仪表盘 | 3000 |
## 前置条件
- Python 3.11+
- Node.js 18+
- 运行 Docker Desktop
- 安装并配置 [Cowrie](https://github.com/cowrie/cowrie)
- 一个 [Groq API 密钥](https://console.groq.com)
## 设置
### 1. 克隆仓库
```
git clone https://github.com/PranavAchanta/stickynet.git
cd stickynet
```
### 2. 设置环境变量
```
cp .env.example .env
# 编辑 .env 并添加你的 GROQ_API_KEY
```
### 3. 启动基础设施
```
docker-compose up -d
```
### 4. 启动 Cowrie
```
cd
source cowrie-env/bin/activate
cowrie start
```
### 5. 启动 FastAPI 后端
```
cd
uvicorn backend.main:app --reload --port 8000
```
### 6. 启动 STIX API
```
cd /threat-intel
uvicorn stix_api:app --port 8001 --host 0.0.0.0
```
### 7. 启动仪表盘
```
cd /Frontend/dashboard
npm install
npm run dev
```
### 8. 运行攻击模拟器
```
cd
python simulator/attack_sim.py
```
打开 `localhost:3000` 查看仪表盘。
## ML 模型
- **架构:** Embedding → Bidirectional LSTM (hidden=128, layers=2) → FC 分类头
- **数据集:** AWS Honeypot 攻击数据集 — 451,000 条真实 SSH 攻击记录
- **训练:** 25 个周期,BCEWithLogitsLoss 用于多标签分类
- **输出:** 跨 6 种攻击类型的同步置信度分数
- **推理:** 实时进行,作为 FastAPI 中的后台线程运行
## 威胁情报输出
每一个检测到的置信度高于 80% 的会话都会生成一个 STIX 2.1 包,其中包含:
- `Indicator` — 攻击者 IP 和会话指纹
- `Attack-Pattern` — MITRE ATT&CK 技术 ID (T1046, T1110, T1087 等)
- `Observed-Data` — 完整的带有时间戳的命令日志
- `Relationship` — 关联上述所有内容的对象
通过 `python-stix2` 验证,零错误。兼容 CERT-In、Splunk、IBM QRadar 和 Elastic Security。
## 团队
| 姓名 | 职责 |
|---|---|
| Pranav Achanta | Cowrie 蜜罐,LLM 欺骗引擎,FastAPI 后端,Redis pipeline,Docker 设置 |
| Aaryan | BiLSTM 架构,模型训练,推理引擎,分类器集成 |
| Tejas | STIX 2.1 生成器,ATT&CK 映射器,n8n 编排,Discord 警报 |
| Artham | React 仪表盘,攻击模拟器 |
## 未来展望
- 自行托管 LLM (Ollama + Llama) 以实现完全离线部署 — 无 API 依赖
- 强化 Cowrie SSH 指纹以抵御复杂对手的检测
- 扩展以通过单一仪表盘监控蜜罐网络
- 探索基于 Transformer 的架构,以改进对较长会话的分类
- 通过直接摄取 STIX 包进行 SIEM 集成
*在 BITS Goa 耗时 24 小时构建。每个组件都是真实、经过测试且正常运行的。*
标签:AI蜜罐, AV绕过, BiLSTM分类器, BITS Goa, CERT-In, Cloudflare, DevSecOps, DLL 劫持, FastAPI, Llama-3.3-70b, LLM欺骗引擎, MITRE ATT&CK, MongoDB, n8n, Python, Redis, SSH蜜罐, STIX 2.1, Webhook, 上游代理, 入侵检测系统, 凭据扫描, 力导向图, 大语言模型, 子域名变形, 安全数据湖, 实时威胁情报, 插件系统, 搜索引擎查询, 无后门, 无线安全, 时间线生成, 深度学习, 网络安全, 网络安全审计, 自定义脚本, 请求拦截, 进程注入, 逆向工具, 隐私保护, 黑客马拉松