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!
โก๏ธ QuickStart โข ๐ฏ Features โข ๐๏ธ Architecture
๐ค ML Algorithms โข ๐ซ Contribute โข ๐ง Contact
- ๐ฎ 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