Skip to content
D

Deception

the AI hacker

Created on 1st February 2026

D

Deception

the AI hacker

The problem Deception solves

Modern red-teaming and security testing are complex, fragmented, and manual.

Security professionals often need to:

Switch between multiple tools and terminals

Manually plan attack paths

Track execution steps across long sessions

Interpret raw outputs without structured context

Reproduce or explain previous test runs

This makes red-team operations time-consuming, error-prone, and hard to audit or replay—especially for beginners or small teams.

🚀 What This Project Enables

Decepticon turns high-level security objectives into a coordinated, multi-agent AI workflow, reducing cognitive load and operational friction.

🔐 Practical Use Cases

Red Teaming & Ethical Hacking
Automates reconnaissance, analysis, and execution planning using AI agents.

Security Learning & Training
Beginners can observe real workflows instead of memorizing commands.

Attack Path Simulation
Safely simulate offensive strategies without uncontrolled manual execution.

Security Audits & Research
Maintain structured logs and reproducible workflows.

Challenges we ran into

Building a real-time, multi-agent AI system came with several non-trivial challenge especially around state management, streaming, and UI synchronization.

  1. Managing Complex Session State in Streamlit

Problem:
Streamlit reruns the entire app on every interaction, which caused:

Duplicate messages

Lost agent state

Broken workflows during long-running executions

Solution:
I built a centralized AppStateManager to:

Initialize session state safely (idempotent setup)

Track active agents, completed agents, and workflow status

Prevent reruns during critical execution phases

This made the UI stable even during multi-step AI workflows.

  1. Preventing Duplicate Messages During Streaming

Problem:
When streaming agent responses, the same message could appear multiple times due to repeated updates from the underlying execution graph.

Solution:
Inside the executor, I implemented message de-duplication using:

Unique message IDs

Content hashing as a fallback

Only unseen messages are rendered, ensuring clean and readable output.

  1. Synchronizing Chat UI with a Live Terminal

Problem:
Chat messages and terminal outputs were generated from different parts of the workflow, often falling out of sync.

Solution:
I separated concerns by:

Sending structured “tool” messages to the terminal UI

Rendering chat messages independently from execution logs

A floating terminal UI was added so users could inspect execution without interrupting the chat flow.

  1. Replaying Past Sessions Reliably

Problem:
Replaying a previous session required reconstructing chat messages, agent states, and terminal output—without triggering unwanted reruns.

Solution:
I introduced a ReplayManager that:

Converts logged events back into frontend-friendly messages

Replays them in a single controlled render pass

Disables streaming during replay to ensure deterministic output

This made sessions fully reproducible and reviewable.

  1. Safely Switching Models Mid-Application

Problem:
Changing AI models while the app was running often broke the agent swarm or left it in an inconsistent state.

Solution:
I added an ExecutorManager that:

Cleanly resets the swarm

Reinitializes agents with the new model

Preserves session integrity and logs

This allows seamless model switching without restarting the app.

Tracks Applied (2)

Open Track

This project fits the Open Track because it is a cross-disciplinary system that combines AI, cybersecurity, developer to...Read More

Agentic AI / ML

🧠 1. Multi-Agent Intelligence & Reasoning At the heart of the project is a multi-agent architecture, where: Each agen...Read More

Discussion

Builders also viewed

See more projects on Devfolio