What problem does it solve? Web applications with file upload features (board attachments, certificate registration, bulk Excel uploads) can allow attackers to upload web shells (.jsp) when extension whitelists, magic-byte validation, or safe storage paths are missing, leading to remote code execution (CWE-434). ## Core Features & Use Cases - Hybrid two-stage scanning: A Python scanner collects candidates via Semgrep rules (with grep fallback), then AI context verification filters false positives by checking validation calls, storage paths, and filename handling. - Dual stack support: Automatically detects spring-modern (Spring Boot + MultipartFile) and jsp-legacy (JSP/Servlet + commons-fileupload) stacks and applies matching rules. - Use Case: Point the scanner at a project like Gseed_Web_Renew to find controllers calling transferTo() without FileValidator.validate(), uploads stored inside the web root via getRealPath(), or ZipSlip risks in ZIP extraction code, then receive a severity-ranked report with fix guidance. ## Quick Start Run the file upload vulnerability check on my project source directory and report confirmed CWE-434 issues with file and line evidence.