PranavAchanta/stickynet

GitHub: PranavAchanta/stickynet

一个融合 LLM 欺骗引擎、BiLSTM 实时分类和自动化 STIX 2.1 威胁情报生成的 AI 驱动 SSH 蜜罐系统。

Stars: 0 | Forks: 0

# stickyNET 🍯 ![在 BITS Goa 构建](https://img.shields.io/badge/Built%20at-BITS%20Goa-blue) ![第一名](https://img.shields.io/badge/Hackathon-1st%20Place-gold) ![2026年4月](https://img.shields.io/badge/April-2026-green) ![Python](https://img.shields.io/badge/Python-3.11+-blue) ![License](https://img.shields.io/badge/License-MIT-lightgrey) 为 **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, 上游代理, 入侵检测系统, 凭据扫描, 力导向图, 大语言模型, 子域名变形, 安全数据湖, 实时威胁情报, 插件系统, 搜索引擎查询, 无后门, 无线安全, 时间线生成, 深度学习, 网络安全, 网络安全审计, 自定义脚本, 请求拦截, 进程注入, 逆向工具, 隐私保护, 黑客马拉松