NiffyHunt90's picture
docs: full README with dataset, training, usage
a40a908 verified
|
Raw
History Blame Contribute Delete
2.63 kB
---
library_name: peft
tags:
- codeguard
- security
- qwen2.5
- lora
- code-analysis
- vulnerability-detection
- cwe
- sql-injection
- command-injection
- hardcoded-secrets
- insecure-deserialization
- xxe
- path-traversal
- ssrf
- deserialization
license: mit
base_model: Qwen/Qwen2.5-7B-Instruct
language:
- en
metrics:
- accuracy
pipeline_tag: text-generation
---
# CodeGuard Security 7B
LoRA adapter fine-tuned on Qwen 2.5 7B Instruct for **code vulnerability detection**. Trained on 32 security patterns across 8 vulnerability categories to identify and explain security flaws in source code.
## Vulnerabilities Detected
| Category | CWE | Severity |
|----------|-----|----------|
| SQL Injection | CWE-89 | Critical |
| Command Injection | CWE-78 | Critical |
| Hardcoded Secrets | CWE-798 | Critical |
| Insecure Deserialization | CWE-502 | Critical |
| XML External Entity (XXE) | CWE-611 | High |
| Path Traversal | CWE-22 | High |
| Server-Side Request Forgery | CWE-918 | High |
| Unsafe Deserialization | CWE-502 | High |
## Dataset
Trained on curated code security examples from real-world vulnerability disclosures, bug bounty reports, and secure code review patterns. Covers OWASP Top 10, CWE Top 25, and SANS 25. No synthetic or GPT-generated data.
## How to use
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-7B-Instruct",
torch_dtype=torch.float16,
device_map="auto"
)
model = PeftModel.from_pretrained(base_model, "NiffyHunt90/codeguard-security-7b")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")
code = '''
query = "SELECT * FROM users WHERE id = " + user_input
cursor.execute(query)
'''
prompt = f"Analyze this code for security vulnerabilities:\n{code}"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
## Training
- **Base model:** Qwen 2.5 7B Instruct
- **Method:** LoRA
- **Adapter size:** 154 MB
- **Hardware:** 2x Tesla T4 (14.5GB VRAM)
- **Framework:** Unsloth + HuggingFace TRL
## Related models
- [WraithWall Core V3](https://huggingface.co/NiffyHunt90/wraithwall-core-v3) — full security operations model
- [WraithCore 7B](https://huggingface.co/NiffyHunt90/wraithcore-7b) — lightweight 616MB security adapter
## Author
**Adewale Babalola (Niffyhunt)** — Founder, WraithWall
- [niffyhunt.online](https://niffyhunt.online)
- [wraithwall.online](https://wraithwall.online)