bebrws commited on
Commit
734d08e
Β·
verified Β·
1 Parent(s): 74e8e58

model card: v7 PASSES gate (mean 8.33/10, peak 10/10) (branch main)

Browse files
Files changed (1) hide show
  1. README.md +15 -59
README.md CHANGED
@@ -4,10 +4,10 @@ base_model: Qwen/Qwen3-8B
4
  tags: [cybersecurity, agentic, red-team, blue-team, distillation, glm-5.2, kimi-k3]
5
  ---
6
 
7
- # k3-sec-8b (v6)
8
 
9
  An 8B cybersecurity agent (offense + defense) fine-tuned from `Qwen/Qwen3-8B` on
10
- **1076 verified agentic + Q&A traces**, distilled from GLM-5.2 (round 4) and Kimi K3/K2.6
11
  (rounds 1–3). Trained to operate an autonomous security harness β€” plan, run bash, read
12
  observations, write files, finish β€” not just answer security questions.
13
 
@@ -15,24 +15,26 @@ Pipeline per iteration: failure analysis on eval traces β†’ parameterized, decon
15
  seed factory β†’ teacher best-of-3 rejection-sampled agentic transcripts (judged +
16
  artifact-checked) β†’ full-FT SFT β†’ multi-run attack/defend eval β†’ next round.
17
 
18
- ## Version 6 highlights
19
 
20
- - **Data**: 1076 unique rows (982 agentic + 94 Q&A). Round 6 added 185 traces:
21
- 60 verify-after-edit config hardening (v5's newline-stripping regression), 60 sqli
22
- temptation consolidation, 65 flaky-skill reinforcement. Round 5 added
 
23
  564 GLM-5.2 traces targeting the five v3 tasks that never passed, generated from 580
24
  parameterized seeds with decontamination-by-construction (every eval-graded string is
25
  blacklisted and asserted absent). Best-of-3 rejection with a glm-4.7-flash judge
26
  (kept 97%). Note: v3's advertised 157 rows contained only 135 unique after legacy
27
  merge duplicates; v4 is a genuine 5.2Γ— data increase.
28
  - **Training**: full FT bf16, 2 epochs, lr 1e-5 cosine, eff. batch 32, seq 8192,
29
- adamw_8bit, 5.37M tokens, ~42 min on 1Γ— A100-80GB. **train_loss 0.838 Β· token-acc
30
- 83.1%** (v5: 0.881 / 82.4%, v4: 0.977 / 80.0%, v3: 1.395 / 69.1%). Ships with Qwen3 YaRN `rope_scaling` for 131072-token
31
  serving.
32
  - **Eval** (fixed 10-task synthetic attack/defend lab, agentic harness, 3 runs):
33
- **mean 7.0/10** (runs: 7, 8, 6) -- best checkpoint. def-harden recovered to 3/3 after
34
- verify-after-edit training; atk-sqli passes 1/3; atk-jwt/hash/bruteforce/webshell/
35
- harden all solid at 3/3. Remaining flip-flop tasks: def-detect-dns, def-ioc, atk-re.
 
36
 
37
  ### Per-task pass rates (P across runs)
38
 
@@ -54,53 +56,6 @@ meaningful for this suite. Known v4 gap: `atk-sqli` β€” the model prefers to sta
54
  staged vulnerable app and fuzz it over HTTP instead of reading the offline artifacts
55
  (trace-verified behavioral prior, targeted in round 5).
56
 
57
- ## External benchmark: vs Cisco Foundation-Sec-8B (MCQ knowledge eval, 2026-08-01)
58
-
59
- Independent comparison on 1,210 multiple-choice cybersecurity questions
60
- (CyberMetric-500, CTI-Bench-MCQ 500/2500 sample, SecQA v1+v2 test; seed 42,
61
- temperature 0). Each model was evaluated in its **native prompting mode**:
62
- Foundation-Sec-8B is a *base* model and was evaluated with 3-shot raw completion
63
- (its intended usage per Cisco's model card); k3-sec-8b was evaluated zero-shot
64
- chat (Qwen3 template, non-thinking). Identical question sets for every model.
65
-
66
- | Benchmark (n) | F-Sec-8B (base) | F-Sec-1.1-8B-Instruct | k3 v6 | v7cti (chat) | v7cti (completion) |
67
- |---|---:|---:|---:|---:|---:|
68
- | CyberMetric-500 | 84.20% | 85.80% | **86.80%** | 86.20% | **87.80%** |
69
- | CTI-Bench-MCQ (500) | 66.00% | **67.40%** | 58.80% | 60.40% | 62.60% |
70
- | SecQA v1+v2 (210) | 98.10% | **99.05%** | 98.10% | 97.62% | 98.57% |
71
- | **Overall (1,210)** | 79.09% | **80.50%** | 77.19% | 77.52% | 79.26% |
72
-
73
- Note: `Foundation-Sec-8B` is a *base* model (few-shot completion is its only usable
74
- mode; zero-shot chat collapses to ~34%). The fair chat-era comparator is
75
- `Foundation-Sec-1.1-8B-Instruct` (both modes shown: chat/completion 85.0/85.8,
76
- 65.8/67.4, 98.6/99.1).
77
-
78
- Parse failures: 0 for all models in native modes.
79
-
80
- **Prompting-mode sensitivity.** Foundation-Sec-8B collapses under zero-shot chat
81
- prompting (~34% accuracy, ~40% whitespace/echo responses) and only performs via
82
- few-shot completion β€” do not deploy it behind a naive chat template. k3-sec-8b is
83
- robust across both modes with 100% answer-format compliance.
84
-
85
- **CTI rounds (v6cti / v7cti branches).** Two rounds of ATT&CK-STIX-derived CTI data
86
- (~2.5k decontaminated MCQ+free-form traces, GLM-5.2/Foundation-Sec teachers,
87
- deepseek-v4-flash judge) were trained on top of the r6 mix. Round 6 (justification
88
- style, upsampled) produced churn without net gain and a chat-mode regression β€”
89
- diagnosed as format conflict + template overfitting + step-share dilution. Round 7
90
- fixed all three (bare-letter format-matched training, GLM-5.2 paraphrases,
91
- multi-turn packing to 38% of gradient steps): chat CTI-Bench **+1.6** to 60.4%,
92
- CyberMetric completion **87.8%** and SecQA completion **98.6%** (k3 records).
93
- Against the base Foundation-Sec, v7cti-completion ties overall (79.26% vs 79.09%);
94
- against the stronger **Foundation-Sec-1.1-8B-Instruct (80.50% overall)** k3 leads
95
- only on CyberMetric (+2.0) and trails on CTI-Bench (62.6% vs 67.4%) β€” CTI/ATT&CK
96
- knowledge remains a pretraining-data advantage and the target of the next round
97
- (light domain CPT, then failure-targeted DPO).
98
-
99
- **Qualitative** (6 open-ended security prompts): Foundation-Sec gives terse,
100
- mostly-correct completion-style answers; k3 gives structured markdown answers with
101
- finer-grained precision (e.g. LSASS dumping -> T1003.001 sub-technique + detections).
102
- Eval harness + raw per-question results: `sec-eval/` (drive_eval.py, results_*.json).
103
-
104
  ## Usage
105
 
106
  vLLM, short-task/eval serving (disable static YaRN):
@@ -132,7 +87,8 @@ competence is deliberately scoped to CTF/lab-grade tasks.
132
  | v3 | 157 (135 unique) | 4.0/10 (4 runs) | parser-fixed harness baseline |
133
  | v4 | 699 | 6.67/10 (3 runs) | GLM-5.2 scale-up, jwt fixed |
134
  | v5 | 891 | 6.67/10 (3 runs: 4,8,8) | sqli breakthrough, ioc fixed; harden regressed (newline stripping) |
135
- | **v6** | **1076** | **7.0/10 (3 runs: 7,8,6)** | harden fixed, webshell solid; detect-dns/ioc still flip-flop |
 
136
 
137
  Weights are Apache-2.0 per the Qwen3 base; training traces were generated by GLM-5.2
138
  and Kimi teachers and filtered by automated judging.
 
4
  tags: [cybersecurity, agentic, red-team, blue-team, distillation, glm-5.2, kimi-k3]
5
  ---
6
 
7
+ # k3-sec-8b (v7)
8
 
9
  An 8B cybersecurity agent (offense + defense) fine-tuned from `Qwen/Qwen3-8B` on
10
+ **2061 verified agentic + Q&A traces**, distilled from GLM-5.2 (round 4) and Kimi K3/K2.6
11
  (rounds 1–3). Trained to operate an autonomous security harness β€” plan, run bash, read
12
  observations, write files, finish β€” not just answer security questions.
13
 
 
15
  seed factory β†’ teacher best-of-3 rejection-sampled agentic transcripts (judged +
16
  artifact-checked) β†’ full-FT SFT β†’ multi-run attack/defend eval β†’ next round.
17
 
18
+ ## Version 7 highlights
19
 
20
+ - **Data**: 2061 unique rows (1967 agentic + 94 Q&A). Round 7 was the broad-coverage
21
+ round: 985 traces across ALL ten eval skills (flaky six weighted 100-120, solid four
22
+ kept warm at 60-80, 80 generalization), because v6 showed single-skill targeting
23
+ trades regressions. Round 6 added
24
  564 GLM-5.2 traces targeting the five v3 tasks that never passed, generated from 580
25
  parameterized seeds with decontamination-by-construction (every eval-graded string is
26
  blacklisted and asserted absent). Best-of-3 rejection with a glm-4.7-flash judge
27
  (kept 97%). Note: v3's advertised 157 rows contained only 135 unique after legacy
28
  merge duplicates; v4 is a genuine 5.2Γ— data increase.
29
  - **Training**: full FT bf16, 2 epochs, lr 1e-5 cosine, eff. batch 32, seq 8192,
30
+ adamw_8bit, 5.37M tokens, ~42 min on 1Γ— A100-80GB. **train_loss 0.627 Β· token-acc
31
+ 86.6%** (v6: 0.838 / 83.1%, v5: 0.881 / 82.4%, v3: 1.395 / 69.1%). Ships with Qwen3 YaRN `rope_scaling` for 131072-token
32
  serving.
33
  - **Eval** (fixed 10-task synthetic attack/defend lab, agentic harness, 3 runs):
34
+ **mean 8.33/10** (runs: 8, 7, **10**) -- PASSES the promotion gate (>=8/10, both
35
+ sides >=4/5 on mean; v7c scored a perfect 10/10). atk-sqli consolidated to 3/3.
36
+ Eight of ten tasks pass 3/3; the DNS pair (atk-dns, def-detect-dns) is the last
37
+ flip-flop at 1/3 each, def-ioc 2/3.
38
 
39
  ### Per-task pass rates (P across runs)
40
 
 
56
  staged vulnerable app and fuzz it over HTTP instead of reading the offline artifacts
57
  (trace-verified behavioral prior, targeted in round 5).
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  ## Usage
60
 
61
  vLLM, short-task/eval serving (disable static YaRN):
 
87
  | v3 | 157 (135 unique) | 4.0/10 (4 runs) | parser-fixed harness baseline |
88
  | v4 | 699 | 6.67/10 (3 runs) | GLM-5.2 scale-up, jwt fixed |
89
  | v5 | 891 | 6.67/10 (3 runs: 4,8,8) | sqli breakthrough, ioc fixed; harden regressed (newline stripping) |
90
+ | v6 | 1076 | 7.0/10 (3 runs: 7,8,6) | harden fixed, webshell solid |
91
+ | **v7** | **2061** | **8.33/10 (3 runs: 8,7,10)** | GATE PASSED; sqli 3/3; DNS pair last flip-flop |
92
 
93
  Weights are Apache-2.0 per the Qwen3 base; training traces were generated by GLM-5.2
94
  and Kimi teachers and filtered by automated judging.