Vulnerability Management & Remediation Platform

Engineered a dedicated web-based vulnerability management system to streamline post-pentest finding triage, CVSS scoring, and remediation tracking across enterprise workflows. Architected a decoupled system comprising a Laravel REST API backend (secured with Sanctum token authentication) and a React + Vite + Tailwind CSS frontend. Implemented a hybrid database schema in MySQL 8.0 combining fixed relational finding models with dynamic JSON technical_details attributes, supporting 9 distinct vulnerability templates (such as SQL Injection, Stored/Reflected XSS, IDOR, Broken Access Control, and Security Misconfiguration). Features real-time CVSS severity charts via Recharts, automated remediation timestamping upon resolution, role-tailored workflows (pentester, manager, client), and automated PDF executive report exports generated through laravel-dompdf.
Delivered 11 documented core security features across 10 RESTful API endpoints, supporting 9 standardized vulnerability category templates, role-based workflows, automated CVSS analytics, and professional PDF executive report generation.
Key Metrics & Measurable Impact
Empirical metrics across containerized database services, Sanctum API contracts, and vulnerability remediation lifecycles.
Full lifecycle tracking: dynamic form templates, CVSS scoring, status transitions, and PDF generation
CRUD operations, Sanctum token authentication, severity filters, and PDF export streams
Dedicated JSON schemas for SQLi, XSS, IDOR, Access Control, Misconfiguration, and more
Workflows tailored for Pentester, Security Manager, and Remediation Client personas
Numbered visual proof files covering Docker setup, backend API testing, and frontend views
35 completed milestones, 1 in progress, 10 planned for authorization and cloud deployment
Work Artifacts & Key Evidence
Selected technical screenshots and logs. Use the side arrows to scroll or click any card to inspect.
Investigation Timeline
Containerized Database & Isolated Environment Setup
Orchestrated MySQL 8.0 and phpMyAdmin containers via Docker Compose with dedicated non-root credentials (vulnapp), volume persistence, and VirtualBox port forwarding on 8081.
REST API Scaffolding & Sanctum Token Authentication
Built 10 RESTful API endpoints secured by Laravel Sanctum token authentication. Enforced server-side validation via Rule::in() across severity and remediation status fields, confirming 401 rejection for unauthenticated requests.
Dynamic Hybrid Schema & Category Templates
Engineered database migrations featuring relational finding attributes paired with a dynamic JSON technical_details column, supporting custom input fields across 9 vulnerability classes.
Interactive React Dashboard & PDF Report Export
Developed modern React interface with dynamic category form inputs, Recharts analytics (remediation rate and severity donut), and automated executive PDF generation via laravel-dompdf.
Implementation Phases & Checklist
- ✓Define monorepo architecture and directory structure (backend, frontend, docker, docs)
- ✓Install Docker Engine from official repository with verified GPG keyring
- ✓Configure non-root Docker execution permissions
- ✓Author docker-compose.yml pinning MySQL 8.0 and phpMyAdmin 5.2 with volume mounts
- ✓Verify database creation and dedicated non-root credentials (vulnapp)
- ✓Configure VirtualBox port forwarding for phpMyAdmin host access on port 8081
- ✓Install PHP 8.3 runtime, extensions, and Composer package manager
- ✓Scaffold Laravel REST API project and configure MySQL database connection
- ✓Author vulnerability database migrations with hybrid JSON technical_details column
- ✓Configure Laravel Sanctum API authentication and HasApiTokens traits
- ✓Implement VulnerabilityController with CRUD handlers and Rule::in() validation
- ✓Validate API contracts via curl across POST, GET, and parameter filters
- ✓Add role column migration to users table (pentester, manager, client)
- ✓Implement AuthController endpoints (login, logout, me) protected by auth:sanctum
- ✓Verify token protection: confirm HTTP 401 response for unauthenticated requests
- ✓Implement PDF export endpoint using laravel-dompdf with custom Blade template
- ✓Create DummyDataSeeder generating 3 role accounts and 5 representative findings
- ○Implement server-side role authorization middleware on write endpoints
- ✓Scaffold Vite + React application and configure Tailwind CSS
- ✓Configure CORS allowlist restricting API access to client origin
- ✓Build findings table with dynamic severity and remediation status badges
- ✓Implement dynamic form generator rendering specific input fields per vulnerability class
- ✓Design collapsible form sections and interactive finding inspection modals
- ✓Implement authentication state (AuthContext) and token persistence
- ✓Hide creation controls for non-pentester role views in client UI
- ✓Enable direct remediation status transitions with automated resolved_at timestamping
- ✓Integrate Recharts analytics (remediation rate gauge, severity donut, status bar)
- ✓Implement PDF download trigger via binary blob streaming
- ✓Implement finding deletion with interactive confirmation modals
- ○Develop vulnerability trend-over-time visual chart
- ○Develop segregated summary views tailored for manager and client roles
- ○Add client-side full-text search and multi-parameter table filters
- ✓Author repository README with local quickstart instructions
- ✓Capture and catalog 60 numbered verification screenshots across all phases
- ✓Draft technical system architecture summary and API catalog
- ◐Embed visual evidence and phase reports into root WRITEUP.md
↳ Draft complete, finalizing repository root placement
- ○Audit evidence screenshots for accidental credential exposure prior to public release
- ○Author automated feature tests covering authentication and CRUD API endpoints
- ○Harden token storage with httpOnly cookie transport and loopback MySQL binding
- ○Configure production deployment pipeline (Railway backend and Vercel frontend)
Documentation & Technical Reports
This project was developed strictly for software security research, vulnerability remediation education, and professional portfolio demonstration. All seed data and sample vulnerabilities are fictional simulations, and database credentials are intended strictly for local development environments.




