tanhiowyatt/cyanide-framework
GitHub: tanhiowyatt/cyanide-framework
Cyanide 是一个中等交互的 SSH/Telnet 蜜罐框架,结合 Linux 环境模拟和机器学习驱动的攻击分类,帮助安全团队捕获攻击行为并提取 IOC。
Stars: 20 | Forks: 0
[](https://github.com/tanhiowyatt/cyanide-framework/stargazers)
[](https://github.com/tanhiowyatt/cyanide-framework/actions/workflows/ci.yml)
[](https://github.com/tanhiowyatt/cyanide-framework/actions/workflows/security_scan.yml)
[](https://sonarcloud.io/dashboard?id=tanhiowyatt_cyanide_framework)
[](https://sonarcloud.io/component_measures/metric/coverage/list?id=tanhiowyatt_cyanide_framework)
[](https://opensource.org/licenses/MIT)
[](https://deepwiki.com/tanhiowyatt/cyanide-framework)
ENG |
RU |
PL
# Cyanide 中等交互 SSH 和 Telnet 蜜罐
**Cyanide** 是一个中等交互的 SSH 和 Telnet 蜜罐,旨在欺骗攻击者并深入分析其行为。它结合了逼真的 Linux 文件系统模拟、高级命令模拟(支持管道和重定向)、强大的反检测机制,以及用于异常检测的混合 ML 引擎。
### 功能
#### 1) 用于自动化攻击分类和 IOC 提取的机器学习
- 系统会根据会话行为和 payload 特征,自动将网络活动分类为攻击类型(暴力破解、撞库、侦察、漏洞利用尝试)。
- 事件通过提取入侵指标(IOC)进行标准化,包括 IP 地址、端口、凭证、user agent/banner、命令、URL、artifact 哈希以及攻击者频率字典。
- 生成会话摘要,详细说明攻击意图、与基线规范的偏差,以及建议用于阻断或集成到检测规则中的 IOC。
#### 2) 增强逼真度以规避蜜罐检测
- 逼真的时间安排和响应可变性(错误、延迟、消息格式)提高了自动化蜜罐检测器的误判率。
- 动态环境配置:服务 banner、版本和操作叙事自然演变,避免了静态模板。
- 拟人化的界面行为:具有生产系统特征的合理限制、错误消息和细微不一致性。
#### 3) 高级 SOC 和分析集成
- 结构化的 JSON 日志和标准化的事件 schema,以促进关联和搜索。
- 事件导出到外部系统:SIEM/日志堆栈(ELK/Splunk),webhook 告警(Slack、Discord、Telegram)用于实时通知。
- 支持批处理和消息限制控制,以防止垃圾信息和平台封禁。
- 可配置的触发器和规则,用于关键模式告警(例如,异常的暴力破解速度、dropper 上传、可疑的命令/payload)。
### 文档
有关安装、配置和集成的完整指南,请访问我们的 **[文档中心](docs/index.md)**。
* [快速开始](docs/user-reference/QuickStart.md)
* [高级配置](docs/user-reference/AdvancedUsage.md)
* [开发者参考](docs/developer-reference/core/index.md)
### 快速开始
```
1. Clone the repository
git clone https://github.com/tanhiowyatt/cyanide-framework.git
2. Navigate to the project directory
cd cyanide-framework
3. Launch the environment
docker-compose up -d
4. Connect via SSH, Telnet, or SFTP
ssh root@localhost -p 2222
telnet localhost -p 2222
sftp root@localhost -p 2222
* With Local Changes
docker-compose up -d --build
```
### 通过 PyPI 快速开始
```
1. Install the package
pip install cyanide-framework
2. Run the honeypot
cyanide-framework
```
### 框架工作原理
Cyanide 框架部署了一个**诱饵服务**,并引导攻击者通过一个**受控场景**:它模拟一个逼真的服务,而不授予实际的主机访问权限。
#### 动态配置和硬件模拟
框架的身份由 `src/cyanide/configs/profiles/
/` 中特定于 OS 的配置定义。
- **`base.yaml`**:该配置的主配置文件,包含元数据(内核版本、hostname)、honeytoken 和**系统模板**。
- **系统模板**:您现在可以直接在 YAML 中自定义硬件“指纹”。
- `cpuinfo`:模拟的 `/proc/cpuinfo` 输出。
- `meminfo`:模拟的 `/proc/meminfo` 输出。
- `processes`:将出现在 `ps` 和 `top` 中的后台进程列表。
`base.yaml` 硬件定义示例:
```
system_templates:
cpuinfo: |
vendor_id : GenuineIntel
model name : Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz
...
processes:
- pid: 1
user: root
cmd: "/sbin/init"
```
#### Libvirt 基础设施(高级模拟)
Cyanide 支持可选的 **Libvirt 后端**,用于高保真的基于 VM 的模拟:
- **VM 池**:自动管理来自基础镜像的克隆池。
- **NAT 和快照**:为每个会话提供无缝的网络连接和即时的状态回滚。
- **支持 Docker**:官方 Docker 镜像包含 `libvirt0` 运行时依赖项,以支持远程 Libvirt 连接(例如 `qemu+ssh://...`)。
要启用此功能,请在您的 `cyanide.yaml` 中配置 `pool` 部分:
```
pool:
enabled: true
mode: libvirt
libvirt_uri: "qemu:///system"
max_vms: 5
```
#### SQLite(快速运行时)
YAML 作为“源代码”,被编译/缓存到 **SQLite**(`.compiled.db`)中以用于生产环境:
- 加载/解码速度比 YAML/JSON 更快;
- 占用空间更小,更易于缓存/分发;
- 高负载下性能更稳定。
#### 会话流
系统通过结构化的**会话流**处理每次交互:
- 传入事件(登录/命令/payload)
- 状态更新
- 应用配置规则(YAML/SQLite)
- 响应生成(具有逼真的时序)
- 日志记录 + IOC 提取
#### 日志和 IOC
捕获结构化事件:IP/会话 ID、登录尝试、命令/payload、时间和结果。由此提取 **IOC**,对攻击进行分类,并将告警/导出到 SOC 系统。
### 创作者
该框架由 **tanhiowyatt** 和 **koshanzov** 创建。我们在高级蜜罐原型上的初步合作演变成了当前的开源网络安全项目,专注于逼真的威胁模拟、ML 驱动的攻击分类以及无缝的 SOC 集成。
### 免责声明
本软件仅供教育和研究目的使用。运行该框架涉及重大风险。作者不对任何损坏或滥用负责。
修订版:1.0 - 2026 年 5 月 - Cyanide Framework
标签:SSH, Telnet, 安全, 蜜罐, 证书利用, 请求拦截, 超时处理, 逆向工具