Skip to main content

A medium-interaction honeypot with ML-based anomaly detection.

Project description

Stars CI Security Scan Quality gate Coverage License: MIT Ask DeepWiki

ENG   |   RU   |   PL

Cyanide

Cyanide Medium-Interaction SSH and Telnet Honeypot

Cyanide is a medium-interaction SSH and Telnet honeypot designed to deceive attackers and analyze their behavior in depth. It combines realistic Linux filesystem emulation, advanced command simulation (with pipes and redirections), robust anti-detection mechanisms, and a hybrid ML engine for anomaly detection.


Features

1) Machine Learning for Automated Attack Classification and IOC Extraction

  • The system automatically categorizes network activity into attack types (brute-force, credential stuffing, reconnaissance, exploit attempts) based on session behavior and payload characteristics.
  • Events are normalized with extraction of Indicators of Compromise (IOCs), including IP addresses, ports, credentials, user agents/banners, commands, URLs, artifact hashes, and attacker frequency dictionaries.
  • A session summary is generated, detailing the attack intent, deviations from baseline norms, and recommended IOCs for blocking or integration into detection rules.

2) Enhanced Realism to Evade Honeypot Detection

  • Realistic timing and response variability (errors, delays, message formats) increase misclassification rates by automated honeypot detectors.
  • Dynamic environment profiles: service banners, versions, and operational narratives evolve naturally, avoiding static templates.
  • Human-like interface behavior: plausible constraints, error messaging, and minor inconsistencies characteristic of production systems.

3) Advanced SOC and Analytics Integrations

  • Structured JSON logs with a standardized event schema to facilitate correlation and search.
  • Event export to external systems: SIEM/log stacks (ELK/Splunk), webhook alerts (Slack, Discord, Telegram) for real-time notifications.
  • Support for batching and message limit control to prevent spam and platform bans.
  • Configurable triggers and rules for critical pattern alerts (e.g., anomalous brute-force velocity, dropper uploads, suspicious commands/payloads).

Documentation

For complete guides on installation, configuration, and integration, visit our Documentation Hub.


Quick Start

1. Clone the repository
git clone https://github.com/tanhiowyatt/cyanide-honeypot.git

2. Navigate to the project directory
cd cyanide-honeypot

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

Quick Start via PyPI

1. Install the package
pip install cyanide-honeypot

2. Run the honeypot
cyanide-honeypot

How the Honeypot Works

Cyanide honeypot deploys a decoy service and guides attackers through a controlled scenario: it emulates a realistic service without granting actual host access.

YAML Profiles (Behavior Foundation)

Service behavior is defined via YAML profiles:

  • Emulated features (banners/versions, errors, constraints);
  • Response logic (rules/templates, branching);
  • Session state (authentication, context, counters);
  • Realism factors (delays/jitter, randomization).

SQLite (Fast Runtime)

YAML serves as the "source code," compiled/cached into SQLite (.compiled.db) for production:

  • Faster loading/decoding than YAML/JSON;
  • Smaller footprint, easier caching/distribution;
  • More stable high-load performance.

Session Flow

The system processes each interaction through a structured Session Flow:

  • Incoming event (login/command/payload)
  • State update
  • Profile rules application (YAML/SQLite)
  • Response generation (with realistic timing)
  • Logging + IOC extraction

Logs and IOCs

Structured events are captured: IP/session ID, login attempts, commands/payloads, timings, and outcomes. From this, IOCs are extracted, attacks classified, and alerts/exported to SOC systems.


Creators

This honeypot was created by tanhiowyatt and koshanzov. Our initial collaboration on advanced honeypot prototypes evolved into the current open-source cybersecurity project, focusing on realistic threat simulation, ML-driven attack classification, and seamless SOC integration.


Disclaimer

This software is for educational and research purposes only. Running a honeypot involves significant risks. The author is not responsible for any damage or misuse.


Revision: 1.0 - May 2026 - Cyanide Honeypot

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cyanide_honeypot-0.0.16.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cyanide_honeypot-0.0.16-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

File details

Details for the file cyanide_honeypot-0.0.16.tar.gz.

File metadata

  • Download URL: cyanide_honeypot-0.0.16.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cyanide_honeypot-0.0.16.tar.gz
Algorithm Hash digest
SHA256 551aeef6e50db8cf5d304939ee5b75c882274ced884d7b34c9045a6d5e56d120
MD5 41ff70ab67ac31b0d01e40273229c332
BLAKE2b-256 d5b2ccacc67928ab4ed3f869a3bbfaf7f4f4299c9b3bea0c65f6fff0ed4d198d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyanide_honeypot-0.0.16.tar.gz:

Publisher: release.yml on tanhiowyatt/cyanide-honeypot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyanide_honeypot-0.0.16-py3-none-any.whl.

File metadata

File hashes

Hashes for cyanide_honeypot-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 5d03948644be855a768a38c94a99a2a4d05011dbdbb0e836d52e771770c8bca2
MD5 00979cfb146fa7aff00543ff1e41c948
BLAKE2b-256 3077e250af391082633003eb5cb63cde10bd4d391badb07bc23a64723398bf55

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyanide_honeypot-0.0.16-py3-none-any.whl:

Publisher: release.yml on tanhiowyatt/cyanide-honeypot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page