NEURAL CORE — ACTIVE
[ OK ] loading codebert encoder ................ 125M params
[ OK ] initializing bilstm layers .............. 2x256 hidden
[ OK ] compiling mlp classifier ................ 512→256→128→2
[ OK ] mounting vulnerability database ......... 600K+ CVE samples
[ OK ] v2.4.0 engine active
68% of C++ vulnerabilities survive traditional linting tools.
Standard tools catch syntax. SecureScan AI catches intent.
Security tools like cppcheck and clang-tidy catch what the compiler sees. They miss what the attacker sees — unchecked buffer boundaries, unsafe memory flows, logic bombs buried in runtime behavior. SecureScan AI was built to close that gap.
It reads your C/C++ function the same way a security researcher would — understanding context, data flow, and behavioral patterns — then delivers a verdict in 42ms with a confidence score and CWE classification.
Production: securescan-ai.vercel.app
Paste any C/C++ function. Click Start Analyzer. Get results across 8 forensic layers — Input Sanitization, Buffer Integrity, Heap Validation, Logical Flows, Auth Bypass, Encryption Key, External Leak, and AI Inference — in under a second.
| Configuration | F1 Score | Delta |
|---|---|---|
| Full model — CodeBERT + BiLSTM + MLP | 0.9252 | reference |
| Without BiLSTM | 0.8832 | -4.2% |
| Without CodeBERT (GloVe embeddings) | 0.7950 | -8.3% |
| Without Dropout | 0.8910 | -3.4% |
| Unidirectional LSTM | 0.9056 | -2.1% |
| Dataset | Language | Samples | Source |
|---|---|---|---|
| BigVul | C / C++ | ~188,000 | Real CVE + NVD entries |
| DiverseVul | C / C++ | ~319,000 | Diverse CVE coverage |
| FormAI | Multi-language | ~246,000 | AI-generated + labeled |
Total: 600,000+ labeled vulnerability samples
git clone https://github.com/aly-abbas11/SecureScan-AI.git
cd SecureScan-AI
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtpython src/training/train.pyfrom src.models.securescan_model import SecureScanModel
from transformers import AutoTokenizer
import torch
model = SecureScanModel()
tokenizer = AutoTokenizer.from_pretrained('microsoft/codebert-base')
code = "char buf[10]; strcpy(buf, user_input);"
inputs = tokenizer(code, return_tensors='pt', truncation=True, max_length=512)
with torch.no_grad():
logits = model(inputs['input_ids'], inputs['attention_mask'])
prediction = 'Vulnerable' if logits.argmax().item() == 1 else 'Safe'
print(f"Result: {prediction}")
# Result: Vulnerable| Component | Config |
|---|---|
| Base Encoder | microsoft/codebert-base — 125M params |
| Frozen Layers | First 6 of 12 transformer layers |
| BiLSTM | 2 layers, hidden 256, bidirectional → 512-dim |
| MLP | 512 → 256 → 128 → 2, ReLU + BatchNorm |
| Dropout | p = 0.3 |
| Optimizer | AdamW lr=8.57e-5, linear warmup |
| Loss | BCE with 16:1 class balancing weights |
| Inference | 42ms GPU · 380ms CPU |
@misc{securescan-ai,
title = {SecureScan AI — C/C++ Vulnerability Detection},
author = {Shah, Ali Abbas and Tanveer, Salman and Ali, Hammad},
year = {2026},
howpublished = {\url{https://github.com/aly-abbas11/SecureScan-AI}},
note = {AI335L Deep Learning Lab, Air University Lahore}
}MIT — see LICENSE