C-Cure is a desktop application designed to streamline the identification of security vulnerabilities in C and C++ source code. By combining native system-level parsing with intelligent inference, C-Cure enables developers, security researchers, and students to detect critical flaws such as buffer overflows and memory leaks before they reach production.
Built on the Tauri v2 framework with a high-performance Rust backend, C-Cure provides a lightweight, responsive, and cross-platform experience with zero external runtime dependencies.
C-Cure uses specialized AST (Abstract Syntax Tree) parsing to break down C++ files into logical functions. This allows for granular security analysis of code blocks, improving accuracy and reducing noise compared to traditional line-by-line scanners.
Monitor your project's security posture in real-time. The built-in dashboard provides visual metrics on total analyses, vulnerability counts, and severity distributions, helping you prioritize your remediation efforts.
Register your project directories to track changes automatically. C-Cure uses baseline hashing to detect modified files, allowing you to re-analyze only what has changed, saving time and resources.
Export detailed vulnerability assessment reports with a single click. Every report includes project metadata, function-level breakdowns, CWE identifications, and severity ratings, formatted for professional distribution.
Enjoy a modern, responsive interface built with Svelte 5 and Tailwind CSS. The app features optimized navigation, syntax-highlighted code views, and a unified dark-mode aesthetic for comfortable development.
| Layer | Component | Description |
|---|---|---|
| Frontend | Svelte 5 + Tailwind | A reactive, modern UI managing user interactions and data visualization. |
| Logic Engine | Rust (Tauri Core) | High-performance backend handling AST parsing, file system I/O, and secure state management. |
| Parser | Tree-sitter (C++) | Industrial-grade parser for accurate C++ function extraction and syntax analysis. |
| Inference Layer | Remote API | A modular "blackbox" inference step that classifies extracted code snippets via external ML models. |
| Persistence | SQLite (Rusqlite) | Secure, in-process storage for historical project data and analysis logs. |
.
├── src/ # Frontend Application (SvelteKit)
│ ├── lib/ # Shared logic, stores, and UI utilities
│ └── routes/ # Application pages (Analyze, Statistics, Monitor, Reports)
├── src-tauri/ # Native Backend (Rust)
│ ├── src/
│ │ ├── parser.rs # AST extraction logic
│ │ ├── db.rs # Database & Result persistence
│ │ ├── ml_api.rs # External inference bridge
│ │ ├── monitor.rs # File change detection
│ │ └── report.rs # Native PDF generation
│ └── Cargo.toml # Backend dependency manifest
├── test_project/ # Demo analysis target project
└── README.md
tree-sitter to identify every C++ function definition, effectively "slicing" the code for analysis.C-Cure maps code vulnerabilities to standard Common Weakness Enumerations (CWE):
| ID | Description | Default Severity |
|---|---|---|
| CWE-125 | Out-of-bounds Read | High |
| CWE-787 | Out-of-bounds Write | Critical |
| CWE-190 | Integer Overflow | High |
| CWE-369 | Divide By Zero | Medium |
| CWE-415 | Double Free | High |
| CWE-476 | NULL Pointer Dereference | High |
rustup)Clone & Install
git clone https://github.com/LoayElHattab/C-Cure.git
cd C-Cure
npm install
Run Development Environment
npm run tauri dev
Setup Inference Open the application, go to Settings, and enter your remote Inference API URL.
For questions or collaboration inquiries, please open an issue in the project repository.