Security Analysis Project 🛡️
A sophisticated real-time security analysis tool that leverages Twitter data to detect potential security threats, analyze sentiment, and identify fake news using advanced machine learning techniques.
🌟 Features
Real-time Analysis
- Live Twitter data streaming and analysis
- Instant threat detection and alerts
- Real-time sentiment tracking
- Dynamic data visualization
Security Features
- 🔍 Fake news detection using ML models
- 🎯 Sentiment analysis with NLTK and TextBlob
- 🚨 Threat level assessment
- 📊 Comprehensive analytics dashboard
Data Visualization
- Interactive charts and graphs
- Sentiment distribution analysis
- Threat level indicators
- Historical data tracking
🛠️ Tech Stack
Frontend
- React.js - UI framework
- Material-UI - Component library
- Chart.js - Data visualization
- Axios - HTTP client
Backend
- Python Flask - Web framework
- NLTK - Natural Language Processing
- Hugging Face Transformers - ML models
- SQLite/SQLAlchemy - Database
External APIs
- Twitter API v2
- NewsAPI
- VirusTotal API
📦 Installation
Prerequisites
- Python 3.8+
- Node.js 14+
- Docker & Docker Compose
Setup Steps
-
Clone the Repository bash git clone https://github.com/Stavin13/security-analysis.git cd security-analysis
-
Install Dependencies bash npm install pip install -r requirements.txt
-
Create
.envfile in backend directory with:- TWITTER_BEARER_TOKEN
- NEWS_API_KEY
- VT_API_KEY
- hf_token
-
Create
.envfile in frontend directory with:- REACT_APP_API_URL
-
Get API keys from:
- Twitter: https://developer.twitter.com
- NewsAPI: https://newsapi.org
- VirusTotal: https://www.virustotal.com
- HuggingFace: https://huggingface.co
-
Run the Application bash npm start python app.py
-
Access the Dashboard Open your browser and navigate to
http://localhost:3000
🚀 Usage
- Access the application at
http://localhost:3000 - Enter keywords for analysis
- View real-time results in the dashboard
- Monitor security threats and sentiment analysis
📊 API Endpoints
Analysis Endpoints
POST /analyze- Analyze tweetsGET /history- Get analysis historyGET /news- Get news analysis
Health Check
GET /health- API health status
🔒 Security
- Rate limiting implemented
- API key validation
- CORS protection
- Input sanitization
🤝 Contributing
We welcome contributions to improve the Security Analysis Project!
Contribution Guidelines
-
Fork the repository
-
Create your feature branch:
git checkout -b feature/YourFeatureName
-
Follow coding standards:
- Use meaningful variable names
- Add comments for complex logic
- Follow PEP 8 for Python code
- Use ESLint rules for JavaScript
-
Commit your changes:
git commit -m 'feat: Add YourFeatureName'Commit message format:
feat:for new featuresfix:for bug fixesdocs:for documentationstyle:for formattingrefactor:for code refactoring
-
Push to your branch:
git push origin feature/YourFeatureName
-
Open a Pull Request with:
- Clear description of changes
- Screenshots (if UI changes)
- Any relevant issue numbers
Development Setup
- Set up development environment
- Install dependencies
- Create necessary .env files
- Run tests before submitting PR
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 Author
Stavin
- GitHub: @Stavin13
🙏 Acknowledgments
- Twitter API Documentation
- Hugging Face Transformers
- NLTK Community
- React.js Documentation
📧 Contact
For any inquiries or support, please contact us at stavinfernandes2098@gmail.com
Thank you for your interest in the Security Analysis Project!