We know that Bots can perform harmful activities such as fake signups, credential stuffing, content scraping, and denial-of-service attacks, leading to data breaches, system overload, and loss of user trust. Detecting such advanced, human-like bots remains a persistent and complex challenge for web platforms. CAPTCHAs were introduced to solve this issue, but with AI advancements, systems were capable of cracking CAPTCHAs.
Hence, there was a strong need for an adaptive, behavior-based detection system that differentiates bots from humans based on real-time user interaction patterns.
To develop an intelligent, behavior-based bot detection system that accurately distinguishes between human and automated interactions.
The system implements a multi-modal behavioral analysis pipeline to distinguish between human users and bots using real-time behavioral data:
- Keystroke Dynamics: Analyzes typing patterns, including key hold time, latency, and flight time.
- Mouse Trajectories: Captures cursor movement paths, velocity, acceleration, and click frequency to identify human-like vs bot-like behavior.
1. Machine Learning Models
- Decision Tree Classifier is used for classifying user behavior based on keystroke dynamics.
- Convolutional Neural Network (Pretrained & Custom) is trained on mouse trajectory heatmaps for bot detection.
- Joblib and scikit-learn are used for training and saving ML models.
- Keras Tuner is utilized for hyperparameter optimization in deep learning pipelines.
2. Web Integration with Flask
- A full-stack Flask web application handles user interactions, feature capture, and bot classification.
- Includes REST endpoints for submitting behavioral data and receiving predictions.
- Uses Flask-PyMongo for seamless integration with MongoDB.
3. Database & Storage
- MongoDB stores user behavioral data, prediction results, and logs for analysis.
- Implements user sessions, IP tracking, and result caching via Python-based middleware.
4. Data Processing & Visualization
- Uses pandas, numpy, and dask for efficient data manipulation.
- Matplotlib, Seaborn, and tqdm are used for creating performance and behavior graphs.
- Torchvision aids in image transformation for CNN input.
- Python
- Flask
- PyTorch
- MongoDB
- Keystroke Dynamics Dataset: Custom Generated Dataset
- Mouse Trajectories Dataset: Custom Generated Dataset




