Interactive AI-Powered Cybersecurity Education Platform
CyberSmart is an innovative cybersecurity education platform that uses machine learning algorithms to provide personalized learning experiences in password security and phishing awareness. The platform employs neural networks and advanced scoring algorithms to evaluate user performance and provide tailored security recommendations.
- 🎮 Interactive Learning: Engaging cybersecurity games including phishing detection, password strength analysis, and security pattern matching.
- 🤖 AI-Powered Scoring: Neural network evaluation with sigmoid transformation and exponential weighting for accurate assessment.
- 🔐 User Authentication: Secure login system with PBKDF2 password hashing and persistent session management.
- 📊 Progress Tracking: Comprehensive score history with pre/post assessment comparisons and improvement analytics.
- 🎯 Personalized Recommendations: Adaptive feedback system that provides tailored security suggestions based on performance.
- 📈 Real-time Analytics: Global statistics and community averages for competitive learning experience.
- 🛡️ Security-First Design: Built with privacy and security best practices, including SQL injection protection and secure data handling.
- 🎨 Modern UI/UX: Beautiful Streamlit interface with custom CSS styling and responsive design.
Note
Make sure you have Python 3.8+ installed
-
Clone the repository:
git clone https://github.com/poncema4/CyberSmart.git cd CyberSmart -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables (optional):
export GITHUB_TOKEN=your_github_token -
Run the application:
streamlit run app.py
-
Navigate to http://localhost:8501/
To stop CyberSmart, press Ctrl+C in the terminal where the application is running.
Note
The application will automatically create a local SQLite database for user data and scores.
- Phishing Email Detection: Test your ability to spot malicious emails
- Password Strength Analysis: Learn what makes passwords secure
- Password Pattern Matching: Identify weak vs strong password patterns
- Secure Password Generation: Create robust passwords with custom criteria
- Neural Network Evaluation: Advanced ML algorithms for accurate scoring
- Pattern Recognition: Intelligent detection of security vulnerabilities
- Entropy-Based Analysis: Mathematical assessment of password complexity
- Comprehensive Scoring: 0-200 scale metrics across all assessments
- Personal Dashboard: Track your cybersecurity knowledge improvement
- Score History: Complete assessment timeline with detailed breakdowns
- Global Statistics: Compare your progress with community averages
- Pre/Post Assessment: Measure learning effectiveness over time
Multi-Layer Perceptron with optimized structure:
MLPClassifier(
hidden_layer_sizes=(64, 32, 16),
activation='relu',
solver='adam',
max_iter=1000
)Mathematical formulation for entropy calculation:
Entropy = L * log2(R)
where:
L = password length
R = character set size (94 possible characters)
Sigmoid transformation for nuanced assessment:
score = 200 / (1 + e^(-0.05 * (base_score - 100)))
Exponential weighting system:
score = 200 * (1 - e^(-0.02 * base_score))
- Frontend: Streamlit with custom CSS styling
- Backend: Python 3.8+ with scikit-learn ML pipeline
- Database: SQLite for user management and score tracking
- Security: PBKDF2 password hashing with salt
- Analytics: NumPy and Pandas for data processing
CyberSmart/
├── app.py # Main application entry point
├── utils/ # Core utilities and modules
│ ├── auth.py # Authentication system
│ ├── db.py # Database management
│ ├── cyber_smart.py # ML algorithms and scoring
│ └── step_flow.py # Application flow control
├── games/ # Interactive learning modules
│ ├── spot_the_phish/ # Phishing detection game
│ ├── password_match/ # Password pattern matching
│ ├── password_generator/ # Secure password creation
│ └── password_strength/ # Password analysis tool
└── requirements.txt # Python dependencies
- Password Hashing: PBKDF2 with 100,000 iterations
- SQL Injection Protection: Parameterized queries
- Session Security: Unique session IDs and persistent authentication
- Data Validation: Input sanitization and type checking
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For major changes, please open an issue first to discuss your proposed changes.
For questions, support, or collaboration opportunities:
- GitHub Issues: Report bugs or request features
- Discussions: Join community discussions