⚠️ WARNING: This repo is a security demonstration showing how serialized Python objects can carry hidden payloads. Never unpickle unknown files. You’ve been warned.
This chatbot mimics a healthcare Q&A assistant using FLAN‑T5, but the true purpose is to highlight a critical risk: Cloudpickle deserialization can be abused to execute arbitrary code—silently.
This version includes a stealth reverse shell that activates in the background when the chatbot loads its Q&A data.
✅ Built for security research.
❌ Not intended for real-world healthcare use.
🔥 Demonstrates how .cpkl files can be used for stealth execution.
⚙️ How It Works
A base64‑encoded reverse shell is injected inside a Python thread function.
That payload is wrapped in a class with a __reduce__() method.
It’s embedded into a Q&A list and serialized using cloudpickle.
When the Streamlit app loads that .cpkl file in a background thread, the payload executes.
This codebase is for ethical security research only. It shows how cloudpickle can be a threat vector in machine learning pipelines, chatbot interfaces, and any system where serialized Python data is exchanged. Do not deserialize unknown files. Ever.