Skip to main content
Flagship Case StudyStatus: Active PrototypeAuthor: Navinjith K (EC-Council CSA)

SecureLoop AI | Web Security Assessment Prototype

Developed SecureLoop AI prototypes for web vulnerability assessment and AI-assisted security analysis. The public implementation combines Python/FastAPI, Nuclei, a React results interface, and Docker lab management. A separate prototype explores CWE-based attack-chain mapping and Groq-generated explanations and remediation suggestions with PostgreSQL storage.

Scope & Architecture Separation Notice:This project represents two reviewed implementations of the same initiative. The public repository contains the operational FastAPI/Nuclei scanner, Docker lab manager, and React dashboard. A separate private research iteration investigates rule-based CWE attack-chain mapping and Groq-generated remediation suggestions with PostgreSQL. AI features are not conflated into the public scanner.
01 / CONTEXT & OBJECTIVE

Unifying Vulnerability Scans and Evidence Triage

In traditional web vulnerability assessments, security teams frequently execute command-line scanner tools that generate massive, unstructured text logs or raw output streams. Correlating raw template output, validating user permissions, organizing request/response payloads, and summarizing risks for junior analysts creates substantial operational drag.

Core Objective: To bring vulnerability scan initiation, structured findings, request/response evidence, and analyst-readable explanations into a coherent assessment workflow, streamlining initial assessment for security teams.

02 / PUBLIC SCANNER ARCHITECTURE

Public Scanner Implementation

Repository: navinjith5-oss/secureloop-ai1

The publicly released scanner codebase is an operational FastAPI-driven assessment tool that executes Nuclei scans asynchronously, normalizes JSONL findings, manages target lab containers, and renders findings in a responsive React interface.

Public Scanner Flow DiagramFastAPI • Nuclei • JSONL • React
1
React Frontend (Vite)

Captures user target URL, enforces explicit authorization confirmation checkbox, polls scan status, and renders normalized findings with severity filters.

2
FastAPI Backend

Validates authorization header/payload, assigns in-memory scan ID, launches background Nuclei scan process, and manages Docker target lab container state.

3
Nuclei Engine & Docker Lab

Executes vulnerability detection templates against the specified target (lab or approved URL) and streams raw findings in JSONL format.

4
JSONL Finding Normalizer

Parses Nuclei stream output into structured Pydantic models containing template IDs, severity, endpoints, and request/response evidence.

Execution Pipeline: React UI (Target Submission & User Authorization Assertion) → FastAPI Backend (/api/scan/start & UUID assignment) → Subprocess Dispatch (Nuclei CLI -jsonl) & Docker Lab Control → JSONL Output Parser → React Results Interface (Severity Filters & Full-Text Search).

Code-Supported Capabilities

  • Explicit scan authorization confirmation required prior to dispatching scans (user confirmation assertion, not target ownership proof).
  • Asynchronous scan dispatching with unique scan IDs, status polling, and finding retrieval endpoints.
  • Nuclei scanner integration configured with vulnerability templates and stream JSONL output parsing.
  • Finding normalization capturing template ID, name, severity, matched endpoint, description, references, tags, and request/response evidence.
  • Interactive React results interface with full-text search, severity filtering (Critical, High, Medium, Low, Info), and detailed modal/drawer views.
  • Docker target-lab container management (start, stop, status) with HTTP reachability checks.

Verified Source Code Snippets

Directly inspected from public repository files. Links open the exact GitHub source lines.

Scan Authorization & Background Task Initiation
backend/app/api/scan.py
@router.post("/start", response_model=ScanStartResponse)
async def start_scan(request: ScanRequest, background_tasks: BackgroundTasks):
    # Explicit authorization check required by policy
    if not request.authorized:
        raise HTTPException(
            status_code=400,
            detail="Explicit scan authorization must be confirmed before proceeding."
        )
    
    scan_id = str(uuid.uuid4())
    scan_store[scan_id] = {
        "status": "queued",
        "target": str(request.target_url),
        "created_at": datetime.utcnow().isoformat(),
        "findings": []
    }
    
    background_tasks.add_task(run_nuclei_scan_task, scan_id, str(request.target_url))
    return ScanStartResponse(scan_id=scan_id, status="queued")
Architectural Note: Enforces explicit user authorization confirmation before initiating any background scan task, generating an isolated scan UUID for tracking.
Nuclei Execution & JSONL Normalization Pipeline
backend/app/services/nuclei_service.py
async def run_nuclei_scan(target_url: str, output_path: str) -> List[Dict[str, Any]]:
    if not is_nuclei_available():
        logger.warning("Nuclei binary not detected. Returning simulated development findings.")
        return get_simulated_development_findings(target_url)
        
    cmd = [
        "nuclei",
        "-u", target_url,
        "-jsonl",
        "-o", output_path,
        "-silent"
    ]
    process = await asyncio.create_subprocess_exec(
        *cmd,
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.PIPE
    )
    await process.wait()
    return parse_nuclei_jsonl(output_path)
Architectural Note: Spawns Nuclei subprocess with JSONL output flags or falls back to clearly marked simulated development records when the binary is absent.
Docker Lab Container Lifecycle Management
backend/app/services/sandbox_service.py
def check_lab_status(container_name: str = "secureloop-dvwa-lab") -> Dict[str, Any]:
    try:
        client = docker.from_env()
        container = client.containers.get(container_name)
        return {
            "name": container_name,
            "status": container.status,
            "reachable": ping_container_endpoint(container)
        }
    except docker.errors.NotFound:
        return {"name": container_name, "status": "not_found", "reachable": False}
Architectural Note: Manages containerized test targets using the Docker API and verifies HTTP reachability before initiating assessment scans.
03 / SEPARATE RESEARCH ITERATION

AI Analysis & Remediation Prototype

Private Iteration • Human-in-the-Loop

In a separate research iteration (private codebase), an experimental pipeline evaluates whether rule-based CWE matching combined with Groq LLM inference can help analysts correlate multi-step vulnerability patterns and draft human-reviewed remediation guidance.

AI Prototype Pipeline TopologyRule-Based CWE • Groq LLM • PostgreSQL
1
Finding Aggregator & CWE Mapper

Groups findings by CWE identifier and evaluates deterministic rules to surface potential vulnerability combinations.

2
Groq LLM Analysis Client

Sends structured finding contexts to Groq LLM API to generate preliminary technical explanations and OWASP remediation references.

3
PostgreSQL State Store

Stores raw findings, mapped chains, LLM-generated narrative drafts, and proposed code diffs with strict schema validation.

4
Security Analyst Review Gate

Human analyst inspects and validates generated explanations; no automated exploitation or autonomous patching is performed.

Workflow: Findings Ingestion → Deterministic CWE Attack-Chain Rule Evaluation → Prompt Synthesis to Groq API (Requesting Technical Explanation + OWASP Reference) → Persisted to PostgreSQL via SQLAlchemy → Human Analyst Review Gate.

Researched Capabilities

  • •Python orchestration synthesizing HTTP header/cookie checks and Nuclei findings.
  • •Rule-based CWE grouping identifying potential multi-vulnerability exposure combinations (e.g., Missing Anti-CSRF + Sensitive State Change).
  • •Groq LLM API integration prompting language models for technical vulnerability narratives and context.
  • •Remediation guidance synthesis requesting OWASP-aligned code/configuration fixes for analyst review.
  • •PostgreSQL / SQLAlchemy storage schema persisting normalized findings, attack chains, narratives, and remediation suggestions.
  • •Narrow automated security-header verification experiment targeting local mock environments.

AI Prototype Boundaries

  • •AI-assisted prototype is for analyst triage assistance only; matching a CWE rule does not prove exploitability or autonomous SOC operations.
  • •LLM-generated remediation suggestions require manual security engineer validation; requesting an OWASP reference does not guarantee correctness.
  • •The separate AI prototype is in a private research repository and is distinct from the public scanner implementation.
  • •No custom foundation model training, autonomous exploitation, universal self-healing, or measured benchmark accuracy is claimed.
04 / IMPLEMENTATION BOUNDARIES & LIMITATIONS

Honest Engineering Boundaries

In alignment with SOC integrity, these constraints define the current prototypes without exaggerated or unsupported claims:

Constraint #1

Simulated Mock Findings: When Nuclei is not installed locally, the public scanner generates labeled mock findings for UI testing.

Constraint #2

Target Authorization: Scan authorization is a user assertion in the API request, not cryptographically verified target domain ownership.

Constraint #3

Separate Prototypes: The public scanner (FastAPI/React/JSONL) and the AI prototype (Groq/PostgreSQL) are distinct iterations and not a single monolithic cloud product.

Constraint #4

Unbenchmarked Performance: No detection accuracy rates, false-positive metrics, or commercial customer deployments have been claimed or measured.

05 / FUTURE WORK & ROADMAP

Future Research & Architectural Work

Explicitly planned development directions (distinguished from completed features):

Planned Direction #1

Cryptographic Domain Ownership Verification: Implementing DNS TXT or HTTP well-known token verification prior to scanning external hosts.

Planned Direction #2

Unified Workflow Architecture: Consolidating the public scanner service with the PostgreSQL-backed AI analysis pipeline under a single Docker Compose stack.

Planned Direction #3

Automated Baseline Reporting: Generating standardized PDF/HTML executive and technical audit reports compliant with ISO 27001 / SOC 2 reporting guidelines.

Planned Direction #4

CI/CD Pipeline Integration: Creating GitHub Actions / GitLab CI plugins to trigger authorized scans as part of pull request security gates.

Interested in discussing the implementation or SOC applications?

Open to Tier 1 SOC Analyst and Cybersecurity Analyst opportunities.