Spaces:
Running
Running
A newer version of the Streamlit SDK is available: 1.60.0
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.
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
multiprocessingcapabilities. - 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
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-ScannerSetup environment:
python -m venv venv # On Windows: .\venv\Scripts\activate # On Mac/Linux: source venv/bin/activateInstall dependencies:
pip install -r requirements.txtRun the application:
streamlit run app.py`
Docker Deployment
- Build and run with Docker Compose
- docker-compose up --build
Access at:
- Web UI: http://localhost:8501
- API Docs: http://localhost:8000/docs
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