| | --- |
| | license: apache-2.0 |
| | base_model: bigcode/starcoder2-15b-instruct-v0.1 |
| | tags: |
| | - code |
| | - security |
| | - starcoder |
| | - bigcode |
| | - securecode |
| | - owasp |
| | - vulnerability-detection |
| | datasets: |
| | - scthornton/securecode-v2 |
| | language: |
| | - en |
| | library_name: transformers |
| | pipeline_tag: text-generation |
| | arxiv: 2512.18542 |
| | --- |
| | |
| | # StarCoder2 15B - SecureCode Edition |
| |
|
| | <div align="center"> |
| |
|
| | [](https://opensource.org/licenses/Apache-2.0) |
| | [](https://huggingface.co/datasets/scthornton/securecode-v2) |
| | [](https://huggingface.co/bigcode/starcoder2-15b-instruct-v0.1) |
| | [](https://perfecxion.ai) |
| |
|
| | **The most powerful multi-language security model - 600+ programming languages** |
| |
|
| | [π Paper](https://arxiv.org/abs/2512.18542) | [π€ Model Card](https://huggingface.co/scthornton/starcoder2-15b-securecode) | [π Dataset](https://huggingface.co/datasets/scthornton/securecode-v2) | [π» perfecXion.ai](https://perfecxion.ai) |
| |
|
| | </div> |
| |
|
| | --- |
| |
|
| | ## π― What is This? |
| |
|
| | This is **StarCoder2 15B Instruct** fine-tuned on the **SecureCode v2.0 dataset** - the most comprehensive multi-language code model available, trained on **4 trillion tokens** across **600+ programming languages**, now enhanced with production-grade security knowledge. |
| |
|
| | StarCoder2 represents the cutting edge of open-source code generation, developed by BigCode (ServiceNow + Hugging Face). Combined with SecureCode training, this model delivers: |
| |
|
| | β
**Unprecedented language coverage** - Security awareness across 600+ languages |
| | β
**State-of-the-art code generation** - Best open-source model performance |
| | β
**Complex security reasoning** - 15B parameters for sophisticated vulnerability analysis |
| | β
**Production-ready quality** - Trained on The Stack v2 with rigorous data curation |
| |
|
| | **The Result:** The most powerful and versatile security-aware code model in the SecureCode collection. |
| |
|
| | **Why StarCoder2 15B?** This model offers: |
| | - π **600+ languages** - From mainstream to niche (Solidity, Kotlin, Swift, Haskell, etc.) |
| | - π **SOTA performance** - Best open-source code model |
| | - π§ **Complex reasoning** - 15B parameters for sophisticated security analysis |
| | - π¬ **Research-grade** - Built on The Stack v2 with extensive curation |
| | - π **Community-driven** - BigCode initiative backed by ServiceNow + HuggingFace |
| |
|
| | --- |
| |
|
| | ## π¨ The Problem This Solves |
| |
|
| | **AI coding assistants produce vulnerable code in 45% of security-relevant scenarios** (Veracode 2025). For organizations using diverse tech stacks, this problem multiplies across dozens of languages and frameworks. |
| |
|
| | **Multi-language security challenges:** |
| | - Solidity smart contracts: **$3+ billion** stolen in Web3 exploits (2021-2024) |
| | - Mobile apps (Kotlin/Swift): Frequent authentication bypass vulnerabilities |
| | - Legacy systems (COBOL/Fortran): Undocumented security flaws |
| | - Emerging languages (Rust/Zig): New security patterns needed |
| |
|
| | StarCoder2 SecureCode Edition addresses security across the entire programming language spectrum. |
| |
|
| | --- |
| |
|
| | ## π‘ Key Features |
| |
|
| | ### π Unmatched Language Coverage |
| |
|
| | StarCoder2 15B trained on **600+ programming languages**: |
| | - **Mainstream:** Python, JavaScript, Java, C++, Go, Rust |
| | - **Web3:** Solidity, Vyper, Cairo, Move |
| | - **Mobile:** Kotlin, Swift, Dart |
| | - **Systems:** C, Rust, Zig, Assembly |
| | - **Functional:** Haskell, OCaml, Scala, Elixir |
| | - **Legacy:** COBOL, Fortran, Pascal |
| | - **And 580+ more...** |
| |
|
| | Now enhanced with **1,209 security-focused examples** covering OWASP Top 10:2025. |
| |
|
| | ### π State-of-the-Art Performance |
| |
|
| | StarCoder2 15B delivers cutting-edge results: |
| | - HumanEval: **72.6%** pass@1 (best open-source at release) |
| | - MultiPL-E: **52.3%** average across languages |
| | - Leading performance on long-context code tasks |
| | - Trained on The Stack v2 (4T tokens) |
| |
|
| | ### π Comprehensive Security Training |
| |
|
| | Trained on real-world security incidents: |
| | - **224 examples** of Broken Access Control |
| | - **199 examples** of Authentication Failures |
| | - **125 examples** of Injection attacks |
| | - **115 examples** of Cryptographic Failures |
| | - Complete **OWASP Top 10:2025** coverage |
| |
|
| | ### π Advanced Security Analysis |
| |
|
| | Every response includes: |
| | 1. **Multi-language vulnerability patterns** |
| | 2. **Secure implementations** with language-specific best practices |
| | 3. **Attack demonstrations** with realistic exploits |
| | 4. **Cross-language security guidance** - patterns that apply across languages |
| |
|
| | --- |
| |
|
| | ## π Training Details |
| |
|
| | | Parameter | Value | |
| | |-----------|-------| |
| | | **Base Model** | bigcode/starcoder2-15b-instruct-v0.1 | |
| | | **Fine-tuning Method** | LoRA (Low-Rank Adaptation) | |
| | | **Training Dataset** | [SecureCode v2.0](https://huggingface.co/datasets/scthornton/securecode-v2) | |
| | | **Dataset Size** | 841 training examples | |
| | | **Training Epochs** | 3 | |
| | | **LoRA Rank (r)** | 16 | |
| | | **LoRA Alpha** | 32 | |
| | | **Learning Rate** | 2e-4 | |
| | | **Quantization** | 4-bit (bitsandbytes) | |
| | | **Trainable Parameters** | ~78M (0.52% of 15B total) | |
| | | **Total Parameters** | 15B | |
| | | **Context Window** | 16K tokens | |
| | | **GPU Used** | NVIDIA A100 40GB | |
| | | **Training Time** | ~125 minutes (estimated) | |
| |
|
| | ### Training Methodology |
| |
|
| | **LoRA fine-tuning** preserves StarCoder2's exceptional multi-language capabilities: |
| | - Trains only 0.52% of parameters |
| | - Maintains SOTA code generation quality |
| | - Adds cross-language security understanding |
| | - Efficient deployment for 15B model |
| |
|
| | **4-bit quantization** enables deployment on 24GB+ GPUs while maintaining quality. |
| |
|
| | --- |
| |
|
| | ## π Usage |
| |
|
| | ### Quick Start |
| |
|
| | ```python |
| | from transformers import AutoModelForCausalLM, AutoTokenizer |
| | from peft import PeftModel |
| | |
| | # Load base model |
| | base_model = "bigcode/starcoder2-15b-instruct-v0.1" |
| | model = AutoModelForCausalLM.from_pretrained( |
| | base_model, |
| | device_map="auto", |
| | torch_dtype="auto", |
| | trust_remote_code=True |
| | ) |
| | tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True) |
| | |
| | # Load SecureCode adapter |
| | model = PeftModel.from_pretrained(model, "scthornton/starcoder2-15b-securecode") |
| | |
| | # Generate secure Solidity smart contract |
| | prompt = """### User: |
| | Write a secure ERC-20 token contract with protection against reentrancy, integer overflow, and access control vulnerabilities. |
| | |
| | ### Assistant: |
| | """ |
| | |
| | inputs = tokenizer(prompt, return_tensors="pt").to(model.device) |
| | outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.7) |
| | response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
| | print(response) |
| | ``` |
| |
|
| | ### Multi-Language Security Analysis |
| |
|
| | ```python |
| | # Analyze Rust code for memory safety issues |
| | rust_prompt = """### User: |
| | Review this Rust web server code for security vulnerabilities: |
| | |
| | ```rust |
| | use actix_web::{web, App, HttpResponse, HttpServer}; |
| | |
| | async fn user_profile(user_id: web::Path<String>) -> HttpResponse { |
| | let query = format!("SELECT * FROM users WHERE id = '{}'", user_id); |
| | let result = execute_query(&query).await; |
| | HttpResponse::Ok().json(result) |
| | } |
| | ``` |
| | |
| | ### Assistant: |
| | """ |
| |
|
| | # Analyze Kotlin Android code |
| | kotlin_prompt = """### User: |
| | Identify authentication vulnerabilities in this Kotlin Android app: |
| | |
| | ```kotlin |
| | class LoginActivity : AppCompatActivity() { |
| | fun login(username: String, password: String) { |
| | val prefs = getSharedPreferences("auth", MODE_PRIVATE) |
| | prefs.edit().putString("token", generateToken(username, password)).apply() |
| | } |
| | } |
| | ``` |
| | |
| | ### Assistant: |
| | """ |
| | ``` |
| | |
| | ### Production Deployment (4-bit Quantization) |
| | |
| | ```python |
| | from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig |
| | from peft import PeftModel |
| |
|
| | # 4-bit quantization - runs on 24GB+ GPU |
| | bnb_config = BitsAndBytesConfig( |
| | load_in_4bit=True, |
| | bnb_4bit_use_double_quant=True, |
| | bnb_4bit_quant_type="nf4", |
| | bnb_4bit_compute_dtype="bfloat16" |
| | ) |
| | |
| | model = AutoModelForCausalLM.from_pretrained( |
| | "bigcode/starcoder2-15b-instruct-v0.1", |
| | quantization_config=bnb_config, |
| | device_map="auto", |
| | trust_remote_code=True |
| | ) |
| | |
| | model = PeftModel.from_pretrained(model, "scthornton/starcoder2-15b-securecode") |
| | tokenizer = AutoTokenizer.from_pretrained("bigcode/starcoder2-15b-instruct-v0.1", trust_remote_code=True) |
| | ``` |
| | |
| | --- |
| | |
| | ## π― Use Cases |
| | |
| | ### 1. **Web3/Blockchain Security** |
| | Analyze smart contracts across multiple chains: |
| | ``` |
| | Audit this Solidity DeFi protocol for reentrancy, flash loan attacks, and access control issues |
| | ``` |
| | |
| | ### 2. **Multi-Language Codebase Security** |
| | Review polyglot applications: |
| | ``` |
| | Analyze this microservices app (Go backend, TypeScript frontend, Rust services) for security vulnerabilities |
| | ``` |
| | |
| | ### 3. **Mobile App Security** |
| | Secure iOS and Android apps: |
| | ``` |
| | Review this Swift iOS app for authentication bypass and data exposure vulnerabilities |
| | ``` |
| | |
| | ### 4. **Legacy System Modernization** |
| | Secure legacy code: |
| | ``` |
| | Identify security flaws in this COBOL mainframe application and provide modernization guidance |
| | ``` |
| | |
| | ### 5. **Emerging Language Security** |
| | Security for new languages: |
| | ``` |
| | Write a secure Zig HTTP server with memory safety and input validation |
| | ``` |
| | |
| | --- |
| | |
| | ## β οΈ Limitations |
| | |
| | ### What This Model Does Well |
| | β
Multi-language security analysis (600+ languages) |
| | β
State-of-the-art code generation |
| | β
Complex security reasoning |
| | β
Cross-language pattern recognition |
| | |
| | ### What This Model Doesn't Do |
| | β Not a smart contract auditing firm |
| | β Cannot guarantee bug-free code |
| | β Not legal/compliance advice |
| | β Not a replacement for security experts |
| | |
| | ### Resource Requirements |
| | - **Larger model** - Requires 24GB+ GPU for optimal performance |
| | - **Higher memory** - 40GB+ RAM recommended |
| | - **Longer inference** - Slower than smaller models |
| | |
| | --- |
| | |
| | ## π Performance Benchmarks |
| | |
| | ### Hardware Requirements |
| | |
| | **Minimum:** |
| | - 40GB RAM |
| | - 24GB GPU VRAM (with 4-bit quantization) |
| | |
| | **Recommended:** |
| | - 64GB RAM |
| | - 40GB+ GPU (A100, RTX 6000 Ada) |
| | |
| | **Inference Speed (on A100 40GB):** |
| | - ~60 tokens/second (4-bit quantization) |
| | - ~85 tokens/second (bfloat16) |
| | |
| | ### Code Generation (Base Model Scores) |
| | |
| | | Benchmark | Score | Rank | |
| | |-----------|-------|------| |
| | | HumanEval | 72.6% | Best open-source | |
| | | MultiPL-E | 52.3% | Top 3 overall | |
| | | Long context | SOTA | #1 | |
| | |
| | --- |
| | |
| | ## π¬ Dataset Information |
| | |
| | Trained on **[SecureCode v2.0](https://huggingface.co/datasets/scthornton/securecode-v2)**: |
| | - **1,209 examples** with real CVE grounding |
| | - **100% incident validation** |
| | - **OWASP Top 10:2025** complete coverage |
| | - **Multi-language security patterns** |
| | |
| | --- |
| | |
| | ## π License |
| | |
| | **Model:** Apache 2.0 | **Dataset:** CC BY-NC-SA 4.0 |
| | |
| | Powered by the **BigCode OpenRAIL-M** license commitment. |
| | |
| | --- |
| | |
| | ## π Citation |
| | |
| | ```bibtex |
| | @misc{thornton2025securecode-starcoder2, |
| | title={StarCoder2 15B - SecureCode Edition}, |
| | author={Thornton, Scott}, |
| | year={2025}, |
| | publisher={perfecXion.ai}, |
| | url={https://huggingface.co/scthornton/starcoder2-15b-securecode} |
| | } |
| | ``` |
| | |
| | --- |
| | |
| | ## π Acknowledgments |
| | |
| | - **BigCode Project** (ServiceNow + Hugging Face) for StarCoder2 |
| | - **The Stack v2** contributors for dataset curation |
| | - **OWASP Foundation** for vulnerability taxonomy |
| | - **Web3 security community** for blockchain vulnerability research |
| | |
| | --- |
| | |
| | ## π Related Models |
| | |
| | - **[llama-3.2-3b-securecode](https://huggingface.co/scthornton/llama-3.2-3b-securecode)** - Most accessible (3B) |
| | - **[qwen-coder-7b-securecode](https://huggingface.co/scthornton/qwen-coder-7b-securecode)** - Best code model (7B) |
| | - **[deepseek-coder-6.7b-securecode](https://huggingface.co/scthornton/deepseek-coder-6.7b-securecode)** - Security-optimized (6.7B) |
| | - **[codellama-13b-securecode](https://huggingface.co/scthornton/codellama-13b-securecode)** - Enterprise trusted (13B) |
| | |
| | [View Collection](https://huggingface.co/collections/scthornton/securecode) |
| | |
| | --- |
| | |
| | <div align="center"> |
| | |
| | **Built with β€οΈ for secure multi-language software development** |
| | |
| | [perfecXion.ai](https://perfecxion.ai) | [Contact](mailto:scott@perfecxion.ai) |
| | |
| | </div> |
| | |