Safetensors
GGUF
qwen3
cybersecurity
agentic
red-team
blue-team
distillation
glm-5.2
kimi-k3
function-calling
tool-calling
tool-use
conversational
Instructions to use bebrws/security-8b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use bebrws/security-8b with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf bebrws/security-8b:Q4_K_M # Run inference directly in the terminal: llama cli -hf bebrws/security-8b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf bebrws/security-8b:Q4_K_M # Run inference directly in the terminal: llama cli -hf bebrws/security-8b:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf bebrws/security-8b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf bebrws/security-8b:Q4_K_M
Use Docker
docker model run hf.co/bebrws/security-8b:Q4_K_M
- Llama new
- LM Studio
- Jan
- Ollama
How to use bebrws/security-8b with Ollama:
ollama run hf.co/bebrws/security-8b:Q4_K_M
- Unsloth Desktop
- Pi
How to use bebrws/security-8b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bebrws/security-8b:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "bebrws/security-8b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use bebrws/security-8b with Docker Model Runner:
docker model run hf.co/bebrws/security-8b:Q4_K_M
- Lemonade
How to use bebrws/security-8b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull bebrws/security-8b:Q4_K_M
Run and chat with the model
lemonade run user.security-8b-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use bebrws/security-8b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bebrws/security-8b:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default bebrws/security-8b:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use bebrws/security-8b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bebrws/security-8b:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "bebrws/security-8b:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
model card: v7 PASSES gate (mean 8.33/10, peak 10/10) (branch main)
Browse files
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 (
|
| 8 |
|
| 9 |
An 8B cybersecurity agent (offense + defense) fine-tuned from `Qwen/Qwen3-8B` on
|
| 10 |
-
**
|
| 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
|
| 19 |
|
| 20 |
-
- **Data**:
|
| 21 |
-
|
| 22 |
-
|
|
|
|
| 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.
|
| 30 |
-
|
| 31 |
serving.
|
| 32 |
- **Eval** (fixed 10-task synthetic attack/defend lab, agentic harness, 3 runs):
|
| 33 |
-
**mean
|
| 34 |
-
|
| 35 |
-
|
|
|
|
| 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 |
-
|
|
|
|
|
| 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.
|