- Node.js/Express.js Backend server
- MongoDB for data persistence
- Docker for containerization
- Natural Language Processing for content analysis using Wink NLP
-
Content Cleaning & Extraction
- HTML sanitization and text extraction
- Metadata parsing
- URL extraction
-
Security Analysis
- Pattern matching for suspicious content
- URL/link analysis
- Domain authentication
- DNS Record Analysis
- SPF record verification
- DKIM validation
- DMARC policy checking
- Language Analysis
- Topic modeling
- Writing style analysis
- Pattern recognition
- Link Safety Verification
- Google Safe Browsing API integration
- URL mismatch detection
- Domain reputation checking
-
Clone the repository:
git clone https://github.com/cjordan223/PhishFinder-Backend.git cd PhishFinder-Backend npm install
-
Configure environment variables: Create a
.env
file with:- MONGO_URI=your_mongodb_uri from Mongo Atlas
- SAFE_BROWSING_API_KEY= GMAIL API Key
- AI_API_TOKEN=your_AI_token (copyleaks, winston etc)
- PORT=8080
-
Start the server and service
docker compose up -d node index.js
POST /analysis/analyze-email
: Analyze email contentGET /analysis/email/:id
: Retrieve email analysisGET /analysis/sender/:email
: Get sender profilePOST /analysis/ai-analyze
: AI-powered content analysis
GET /dns/:domain
: Fetch DNS authentication recordsPOST /dns/verify
: Verify email authentication
GET /whois/:domain
: Fetch WHOIS dataPOST /whois/:domain/:emailId
: Update WHOIS data
- Suspicious pattern detection
- Keyword analysis
- Language profiling
- Content categorization
- Safe Browsing API integration
- URL mismatch detection
- Domain reputation checking
- Redirect chain analysis
- SPF record verification
- DKIM validation
- DMARC policy checking
- Domain authentication status
- Sender profiling
- Communication pattern analysis
- Historical data analysis
- Risk assessment
emails
: Email analysis resultssender_profiles
: Sender behavior profileswhois
: Domain WHOIS datametrics
: Analysis metrics
- Comprehensive error logging
- Request validation
- Rate limiting
- API error responses
- Enhanced AI analysis capabilities
- Real-time threat intelligence integration
- Advanced behavioral analysis
- Extended metrics and reporting
- Machine learning model integration
- Fork the repository
- Create a feature branch
- Commit changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.