ai-code-scanner-ui / README.md
mubi-613's picture
readme update
7646eac
|
Raw
History Blame Contribute Delete
3.63 kB

A newer version of the Streamlit SDK is available: 1.60.0

Upgrade
metadata
title: AI Code Security Scanner
emoji: πŸ›‘οΈ
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.52.2
app_file: app.py
pinned: false
app_port: 8501
short_description: AI Python security scanner using CodeBERT and rules.

AI Code Security Scanner: Real-time Vulnerability Detection

An advanced security orchestration tool that detects critical vulnerabilities (SQLi, XSS, Command Injection) using a Hybrid Analysis Engine: combining static rule-based heuristics with deep learning CodeBERT models.

Hugging Face Space

Live Demo: AI Security Scanner on Hugging Face


Core Engineering Features

  • Hybrid Detection Engine: Utilizes AST (Abstract Syntax Tree) parsing for rule-based detection and fine-tuned CodeBERT (Deep Learning) for semantic vulnerability pattern matching.
  • Automated Remediation: Generates context-aware "Fix Suggestions" using AI to provide secure code alternatives for identified risks.
  • Security Dashboard: Real-time visualization of security scores and vulnerability distribution across large codebases.
  • Batch Processing: Optimized for high-throughput scanning of multiple Python files simultaneously using Python's multiprocessing capabilities.
  • REST API Architecture: Built with a FastAPI backend, allowing for easy integration into existing CI/CD pipelines as a security gate.

Technical Stack

  • Deep Learning: CodeBERT (Transformers), PyTorch
  • Analysis Engine: Python AST, Custom Rule-based Heuristics
  • Backend/Frontend: FastAPI, Streamlit
  • Deployment: Docker, Hugging Face Spaces (Debian Linux)

Installation

  1. Clone the repository:

    git clone [https://github.com/mubi0613/AI-Code-Security-Scanner.git](https://github.com/mubi0613/AI-Code-Security-Scanner.git)
    cd AI-Code-Security-Scanner
    
  2. Setup environment:

    python -m venv venv
    
    # On Windows:
    .\venv\Scripts\activate
    # On Mac/Linux:
    source venv/bin/activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Run the application:

    streamlit run app.py`
    

Docker Deployment

  • Build and run with Docker Compose
  • docker-compose up --build

Access at:

Project Structure

AI-Code-Security-Scanner/

  • β”œβ”€β”€ app.py # Main Streamlit Dashboard & UI Logic
  • β”œβ”€β”€ api_backend.py # FastAPI Server for REST API Access
  • β”œβ”€β”€ combined_detector.py # Hybrid Logic (Rules + CodeBERT Model)
  • β”œβ”€β”€ rule_detector.py # Static Analysis & AST-based Heuristics
  • β”œβ”€β”€ fix_generator.py # AI-powered Remediation Engine
  • β”œβ”€β”€ saved_model/ # Fine-tuned CodeBERT Weights & Config
  • β”œβ”€β”€ docker-compose.yml # Container Orchestration for UI & API
  • β”œβ”€β”€ requirements.txt # Project Dependencies
  • └── README.md # Technical Documentation

Architecture Diagram

graph LR
    subgraph "Frontend Layer"
        A[Streamlit UI] --> B[User Code Input]
    end

    subgraph "Analysis Engine"
        B --> C{Hybrid Scanner}
        C --> D[Static Rule Engine]
        C --> E[CodeBERT DL Model]
    end

    subgraph "Remediation & Reporting"
        D & E --> F[Vulnerability Report]
        F --> G[AI Fix Generator]
        G --> H[Final Security Report]
    end