File size: 2,025 Bytes
757e129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
license: apache-2.0
library_name: peft
base_model: unsloth/Qwen3-Coder-30B-A3B-Instruct
pipeline_tag: text-generation
tags:
- securecoder
- lora
- code
- tool-calling
- security
- unsloth
---

# SecureCoder 30B Pro v3 — LoRA adapter

LoRA adapter on [`unsloth/Qwen3-Coder-30B-A3B-Instruct`](https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct)
for **code generation, tool calling and cybersecurity** (offence and defence).
**Licence: Apache-2.0**, following the base model.

Most people want the ready-to-run version:
[`Taimwe/securecoder-30b-pro-v3-merged`](https://huggingface.co/Taimwe/securecoder-30b-pro-v3-merged).

## Results

Same prompts, same harness ([`eval_securecoder.py`](https://huggingface.co/Taimwe/securecoder-scripts/blob/main/eval_securecoder.py)):

| Model | Valid Python (15 prompts) | Tool calls correct (80 prompts) |
|---|---:|---:|
| base Qwen3-Coder-30B-A3B-Instruct | 93.3% | 100% |
| v2 (deprecated) | 0.0% | 100% |
| **v3** | **100%** | **100%** |

Full method and limitations are on the
[merged model card](https://huggingface.co/Taimwe/securecoder-30b-pro-v3-merged);
training, merge and eval scripts are in
[`Taimwe/securecoder-scripts`](https://huggingface.co/Taimwe/securecoder-scripts).

## Load the adapter

```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base = AutoModelForCausalLM.from_pretrained(
    "unsloth/Qwen3-Coder-30B-A3B-Instruct", torch_dtype="bfloat16", device_map="auto")
model = PeftModel.from_pretrained(base, "Taimwe/securecoder-30b-pro-v3")
tok = AutoTokenizer.from_pretrained("Taimwe/securecoder-30b-pro-v3")
```

## Limitations

- Produces **working offensive-security code**. Use only against systems you own or have
  written permission to test; you are responsible for its use.
- Inherits Qwen3-Coder's biases; no independent safety red-teaming was run.
- The security multiple-choice eval did not run, so no security-knowledge score is claimed.
- Behaviour outside the training mix is unverified.