Skip to content

pranav8764/SentinelAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ SentinelAPI

A comprehensive API security testing and vulnerability detection platform built for developers who care about security.

SentinelAPI helps you identify and fix API vulnerabilities before they become security incidents. Test individual endpoints and monitor traffic in real-time with automated threat detection.

License: MIT Node.js Version MongoDB


🎯 What is SentinelAPI?

SentinelAPI is a security-first API testing platform that provides comprehensive security scanning capabilities similar to OWASP ZAP and Burp Suite - but simpler, more focused, and developer-friendly.

The Problem We Solve

Modern web applications rely heavily on APIs, but securing them is complex:

  • πŸ”΄ Authentication vulnerabilities are common but hard to detect manually
  • πŸ”΄ Manual security testing is tedious, error-prone, and doesn't scale
  • πŸ”΄ Lack of actionable guidance - tools find issues but don't explain how to fix them
  • πŸ”΄ Inconsistent security practices lead to vulnerabilities slipping into production

Our Solution

βœ… Automated Security Testing - Scan endpoints with comprehensive vulnerability checks
βœ… Deep Authentication Analysis - Specialized testing for OAuth 2.0, JWT, API keys, and sessions
βœ… Actionable Remediation - Every vulnerability comes with clear fix instructions and code examples
βœ… Real-Time Monitoring - Live traffic analysis with automatic threat blocking
βœ… Detailed Reports - Export comprehensive security reports in JSON and HTML formats
βœ… Developer-Friendly - Beautiful UI, clear reports, and seamless workflow integration


✨ Key Features

πŸ” Single Endpoint Scanner

  • Quick vulnerability scan for individual API endpoints
  • Custom headers and authentication configuration
  • Real-time scan progress with detailed feedback
  • Support for all HTTP methods (GET, POST, PUT, DELETE, PATCH, etc.)
  • Instant vulnerability reports with severity ratings

πŸ” Authentication Testing

OAuth 2.0 Flow Testing

  • Authorization Code flow validation
  • Client Credentials flow testing
  • Implicit flow vulnerability detection
  • Token expiration and refresh handling
  • PKCE implementation verification

JWT Analysis

  • Algorithm verification (detect 'none' algorithm attacks)
  • Signature validation with secret verification
  • Claims inspection and sensitive data detection
  • Expiration checking and timing attacks
  • Token manipulation testing

API Key Testing

  • Key exposure in URLs (insecure transmission)
  • Key rotation detection
  • HTTPS enforcement validation
  • Key location security (header vs query parameter)

Session Management

  • Cookie security flags (HttpOnly, Secure, SameSite)
  • Session fixation vulnerability detection
  • Session timeout configuration testing

πŸ›‘οΈ Core Vulnerability Checks

  • Injection Attacks - SQL injection, NoSQL injection, command injection
  • CORS Misconfigurations - Overly permissive CORS policies
  • SSL/TLS Issues - Certificate validation, weak ciphers, protocol versions
  • Security Headers Analysis - Missing or misconfigured headers (CSP, HSTS, X-Frame-Options)
  • Rate Limiting Detection - DoS vulnerability testing
  • Sensitive Data Exposure - Detect exposed secrets, API keys, PII in responses
  • Broken Access Control - Authorization bypass attempts
  • XSS Protection - Cross-site scripting vulnerability detection

πŸ”„ Real-Time Proxy Mode

Route your API traffic through SentinelAPI for live monitoring:

  • Automatic threat detection and blocking
  • Live traffic dashboard with WebSocket updates
  • Request/response logging to database
  • Configurable rate limiting per IP
  • Target URL whitelist for security

πŸ“‘ Live Monitoring Dashboard

Real-time visibility into API security with WebSocket-powered updates:

  • Live Metrics - Requests per minute, blocked threats, response times, active connections
  • Request Stream - Real-time feed of all API requests with full details
  • Security Alerts - Instant notifications for blocked threats and suspicious activity
  • Threat Distribution - Visual breakdown of threat levels (Low, Medium, High, Critical)
  • Historical Data - Time-series analytics and top IP tracking
  • Auto-Reconnect - Resilient WebSocket connection with automatic recovery
  • Response time tracking and analytics

πŸ“Š Detailed Reports

  • Comprehensive vulnerability lists with severity indicators
  • Detailed descriptions with impact analysis
  • Step-by-step remediation instructions
  • Code examples and security references (CWE, OWASP)
  • Export reports as JSON or HTML
  • Professional HTML reports with visual charts and styling
  • Risk score calculation based on vulnerability severity
  • Automated security recommendations

πŸ“ˆ Real-Time Dashboard

  • Live statistics and metrics
  • Active scan monitoring
  • Threat level distribution charts
  • Request timeline visualization
  • Top requesting IPs
  • Recent threats feed
  • WebSocket-based real-time updates

βš™οΈ Configuration Management

  • Dynamic security rule configuration
  • Rate limit customization
  • IP whitelist/blacklist management
  • Security feature toggles
  • Proxy target configuration
  • All settings accessible via UI and API

πŸ—οΈ Architecture

Technology Stack

Backend

  • Runtime: Node.js (v18+)
  • Framework: Express.js 5
  • Database: MongoDB (with Mongoose ODM)
  • Real-time: Socket.io (WebSocket)
  • Authentication: JWT-based auth
  • Proxy: http-proxy-middleware
  • Rate Limiting: express-rate-limit
  • Logging: Winston

Frontend

  • Framework: React 18
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • State Management: React Hooks
  • Real-time: Socket.io-client
  • HTTP Client: Axios

DevOps

  • Version Control: Git
  • Package Manager: npm
  • Environment: dotenv
  • Testing: Jest (backend), Vitest (frontend)

System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Client Application                    β”‚
β”‚              (Browser / API Client / CLI)                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   SentinelAPI Server                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚           Express.js Application                  β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚  β”‚  Security Middleware (SQL, XSS, NoSQL, etc) β”‚ β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚  β”‚         Rate Limiting Middleware            β”‚ β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚  β”‚           Proxy Middleware                  β”‚ β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Scanner    β”‚  β”‚   Logger     β”‚  β”‚  WebSocket   β”‚  β”‚
β”‚  β”‚   Service    β”‚  β”‚   Service    β”‚  β”‚   Service    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                       β”‚
β”‚  β”‚   Report     β”‚                                       β”‚
β”‚  β”‚  Generator   β”‚                                       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    MongoDB Database                      β”‚
β”‚  β€’ Request Logs    β€’ Security Config    β€’ Scan Results  β”‚
β”‚  β€’ Admin Users     β€’ API Keys           β€’ Analytics     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎯 Use Cases

For Developers

  • Test APIs during development
  • Find security issues before code review
  • Learn secure coding practices
  • Get actionable fix instructions
  • No security expertise needed

For Security Engineers

  • Quick API security audits
  • Comprehensive vulnerability reports
  • Export reports for compliance
  • Monitor production APIs (proxy mode)
  • Automated penetration testing

For DevOps Teams

  • Integrate into CI/CD pipelines (coming soon)
  • Automated security testing
  • Track security improvements over time
  • Monitor API health and performance

For QA Testers

  • Add security testing to test suites
  • Regression testing for security fixes
  • Validate authentication flows
  • Test rate limiting and DDoS protection

πŸ” Security Features

Threat Detection

  • Real-time SQL injection detection
  • XSS attack prevention
  • NoSQL injection blocking
  • Command injection detection
  • Path traversal prevention
  • CORS misconfiguration detection

Rate Limiting

  • IP-based rate limiting
  • Configurable limits per endpoint type
  • Whitelist bypass support
  • Standard rate limit headers
  • DDoS protection

Request Logging

  • All requests logged to database
  • Detailed threat information
  • Response time tracking
  • IP address tracking
  • User agent logging
  • Request/response body capture

Proxy Security

  • Target URL whitelist
  • HTTPS enforcement
  • Request validation
  • Response scanning
  • Error handling
  • Timeout protection

πŸ“ˆ Performance

  • Response Time: < 100ms for most endpoints
  • Proxy Overhead: < 50ms additional latency
  • Concurrent Requests: Supports 1000+ concurrent connections
  • Database: Optimized indexes for fast queries
  • Rate Limiting: In-memory store for minimal overhead
  • WebSocket: Real-time updates with minimal bandwidth

Last Updated: February 19, 2026
Version: 1.0.0
Status: Working βœ…

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages