Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

SecurityCell: Automated Web Vulnerability & Security Scanner Platform

An end-to-end security auditing and vulnerability scanning platform engineered to automate OWASP Top 10 vulnerability detection, domain verification, and automated risk reporting.

Introduction & Goals

SecurityCell is a modular security assessment suite that automates dynamic application security testing (DAST) across web endpoints and APIs. It pairs an asynchronous Python scanning engine with a modern Next.js management console, allowing engineering teams to audit endpoint resilience against injection attacks, broken access control, misconfigurations, and cryptographic weaknesses before deploying to production.

  • What data I am working with: Target endpoint URLs, HTTP headers, DOM form structures, authentication cookies, SSL/TLS certificates, and dynamic attack payloads (SQLi, XSS, SSRF, BAC).
  • What tools I am using: Python, Flask, Selenium/Requests, Next.js, Tailwind CSS, NextAuth, and automated security verification scripts.
  • What I am doing with these tools: Orchestrating automated security scan suites that fuzz endpoints with parameterized payload dictionaries, evaluate responses for known failure patterns, and structure vulnerability severity scores into a centralized dashboard.

Goal 1: Automate OWASP Top 10 vulnerability detection across web interfaces and API endpoints.

How I know it worked: 18 distinct security modules (SQLi, SSRF, BAC, CSRF, Cookie Security, CSP, Cryptographic Failures) execute autonomously against verified target domains with zero manual payload crafting.

Goal 2: Prevent unauthorized scanning of unverified third-party web assets.

How I know it worked: 100% of automated scans require cryptographically verified DNS/meta-tag ownership via verify-domain before scanning tasks are permitted to run.

Goal 3: Provide low-latency vulnerability reporting upon scan completion.

How I know it worked: Complete baseline endpoint audits (fuzzing 200+ attack vectors across forms and headers) execute and structure vulnerability JSON reports in under 90 seconds.

Architecture


Contents


The Data Set

The dataset comprises structured attack payload dictionaries, HTTP request/response transaction logs, and DOM reflection outputs.

  • Why this data: Detecting edge-case vulnerabilities requires fuzzing inputs with diverse encodings (URL-encoded, hex-encoded, double-encoded) and observing differential application behavior.
  • What works well: Structured payload lists (sql-payloads.txt, B-payloads.txt, passwords.txt) provide repeatable test boundaries.
  • What is problematic: Web application firewalls (WAFs) and dynamic CAPTCHAs can distort response signatures, leading to false negatives if response heuristics are too rigid.
  • Intended transformation: Transform raw HTTP response headers, status codes, and rendered HTML diffs into normalized vulnerability records categorized by CVSS severity.

How much data is it

A single standard audit targeting 20 input endpoints across 15 scan modules with an average of 50 payloads per vector generates:

15,000 HTTP transactions per scan. At an average response body of 15 KB, that equals 225.0 MB of raw telemetry data per audit. Running 10 scheduled daily audits across client domains results in approximately 67.5 GB of telemetry throughput per month.


Constraints

  • Compute: Modular Python backend running on single-node environments without distributed worker clusters.
  • Network & Target Policies: Strict rate-limiting on outgoing requests to prevent denial-of-service (DoS) conditions on target servers.
  • Security & Compliance: Strict domain verification barrier ensuring scans only execute against verified infrastructure.

Used Tools

Connect

  • Python Requests / HTTP Clients: Drives outbound fuzzing requests, analyzes SSL handshakes, and parses response headers.
  • Next.js API Routes: Manages domain verification tokens and mailer dispatch.

Processing

  • Modular Vulnerability Analyzers:
  • sqli.py & ssrf.py: Dynamic injection and server-side request forgery probing.
  • bac.py & auth_failures.py: Evaluates broken object-level authorization and privilege escalation.
  • csp_checker.py, cors.py, cookie_security.py: Automated security header and policy validation.
  • vulnerablecomponents.py: Known CVE signature checking against third-party assets.

Storage

  • Vulnerability Record Store (security_scan_results.json): Structured JSON serialization for scan telemetry, vulnerability severity scoring, and historical audit diffs.

Visualization

  • Next.js 14 Dashboard: Modern responsive UI built with Tailwind CSS, custom design systems, and dedicated views for repository management, domain verification, and scan reporting.

Pipelines

Scan Orchestration

  1. Target Ingestion & Ownership Verification: User registers target domain; platform verifies ownership via DNS TXT record or HTML meta tag.
  2. Execution: Ingestion triggers the Flask backend (backend/app.py), initiating selected audit modules in parallel.
  3. Payload Injection & Response Parsing: Modules execute dictionary attacks and heuristic probes across parameters, cookies, and headers.
  4. Heuristic Assessment: Status codes, timing diffs (for time-based blind SQLi), and reflection patterns are scored.
  5. Report Compilation: Findings are formatted into structured severity categories (Critical, High, Medium, Low) and rendered in the frontend.

Visualizations

  • Real-time security health score and compliance tracking.
  • Breakdown of discovered vulnerabilities with remediation recommendations.
  • Endpoint inventory and SSL/TLS certificate validity status.

Demo

+-------------------------------------------------------------------------------+
| SecurityCell Audit Summary - target.example.com                               |
|                                                                               |
| [CRITICAL] SQL Injection Detected in `/api/v1/search?q=`                      |
|            Payload: ' UNION SELECT NULL, username, password FROM users--      |
| [HIGH]     Missing Content Security Policy (CSP) Header                       |
| [MEDIUM]   CORS Misconfiguration: Access-Control-Allow-Origin: *              |
| [PASSED]   SSL/TLS Certificate Validity & Cipher Strength                     |
+-------------------------------------------------------------------------------+


What Breaks

  • Aggressive WAF Blocking: Target applications behind Cloudflare or AWS WAF will rate-limit or IP-ban the scanner after rapid payload bursts.

  • Mitigation: Implement adaptive request delays and rotating User-Agent headers.

  • Single-Node Scan Bottlenecks: Running deep crawls on applications with >500 dynamic routes causes long scan queues on single-instance backends.

  • Mitigation: Move scan execution to Celery workers distributed across containerized worker nodes.

  • Single-Page Application (SPA) DOM Crawling: Pure client-side JavaScript routes without static HTML form definitions can be missed by standard request parsers.

  • Mitigation: Integrate headless browser crawlers (Playwright/Puppeteer) to execute full JavaScript lifecycles before fuzzing.


Conclusion

SecurityCell demonstrates end-to-end full-stack engineering applied to cybersecurity automation. By isolating distinct vulnerability vectors into modular analyzers and unifying them through a Next.js interface, the project provides automated security governance without the overhead of heavy commercial scanning suites.

Key engineering lessons included designing resilient heuristic parsing to prevent false-positive vulnerability reports and establishing strict ownership verification barriers to guarantee ethical and compliant scanning operations.


Follow Me On

LinkedIn

About

FYP

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages