BrainboxAI commited on
Commit
d984dcb
·
verified ·
1 Parent(s): c10f896

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +81 -0
README.md ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - he
4
+ - en
5
+ license: apache-2.0
6
+ base_model: BrainboxAI/cyber-analyst-4B-safetensors
7
+ tags:
8
+ - cybersecurity
9
+ - security
10
+ - vulnerability-verification
11
+ - finding-verifier
12
+ - gemma4
13
+ - unsloth
14
+ - lora
15
+ - pilot
16
+ pipeline_tag: text-generation
17
+ pretty_name: Cyber-Analyst 4B — Verifier Pilot
18
+ ---
19
+
20
+ # Cyber-Analyst 4B — Verifier Pilot
21
+
22
+ > ⚠️ **PILOT / experimental.** A small continued-fine-tune on top of
23
+ > [`cyber-analyst-4B`](https://huggingface.co/BrainboxAI/cyber-analyst-4B) to
24
+ > validate a training recipe before scaling. **Not** a replacement for the
25
+ > production model.
26
+
27
+ ## What this is
28
+
29
+ A LoRA delta applied to **`BrainboxAI/cyber-analyst-4B`** that teaches two behaviors:
30
+
31
+ 1. **Strict finding-verifier** — given the evidence for a suspected web vulnerability
32
+ (tool, URL, payload, response snippet, PoC), it outputs a JSON verdict:
33
+ `{"verdict":"true_positive|false_positive|inconclusive","reason":"..."}`.
34
+ The point is to REJECT unproven findings (500-only ≠ SQLi, HTML-encoded XSS ≠ XSS,
35
+ SSRF that never left the network, IDOR that returned only the caller's own data,
36
+ properly-signed JWT, …), not rubber-stamp them.
37
+ 2. **Bilingual identity** — knows it is *Cyber-Analyst 4B by BrainboxAI*.
38
+
39
+ ## Lineage
40
+
41
+ ```
42
+ Google Gemma-4 E4B → cyber-analyst-4B (1.27M security examples, BrainboxAI)
43
+ → THIS pilot (+ verifier + identity delta)
44
+ ```
45
+
46
+ ## Training
47
+
48
+ - **Base:** `BrainboxAI/cyber-analyst-4B-safetensors` (weights preserved — this only adds a delta).
49
+ - **Method:** bf16 LoRA, r=16 / α=32, 3 epochs, LR 1e-4, cosine, seq 2048 (Unsloth).
50
+ - **Data:** ~100 balanced verifier examples (true/false/inconclusive, adversarial hard
51
+ negatives) + a small % bilingual identity. Held-out eval.
52
+ - **Result:** eval_loss ≈ 1.13. Pilot scale — meant to validate the recipe, then scale to ~600.
53
+
54
+ ## Files in this repo
55
+
56
+ | Path | What | Use |
57
+ |---|---|---|
58
+ | `gguf/…Q4_K_M.gguf` | quantized model (~5.3GB) | **LM Studio / Ollama / llama.cpp** |
59
+ | `gguf/…BF16-mmproj.gguf` | vision projector | only for image input (Gemma-4 is multimodal) |
60
+ | `lora/` | LoRA adapter (~147MB) | apply on the base to reproduce / continue |
61
+ | `merged/` | merged 16-bit safetensors | **trainable base for the next round** |
62
+
63
+ ## Use in LM Studio
64
+
65
+ Download `gguf/cyber-analyst-4B-safetensors.Q4_K_M.gguf` and load it. For the verifier
66
+ task, use a system prompt like:
67
+
68
+ > You are a STRICT security-finding VERIFIER. Given the evidence, decide true_positive /
69
+ > false_positive / inconclusive. Judge from the EVIDENCE, not the title. Respond with ONLY
70
+ > JSON: {"verdict":"…","reason":"…"}.
71
+
72
+ ## Limitations
73
+
74
+ - **Pilot scale (~100 examples)** — validates format + basic discrimination, not a
75
+ production verifier. Expect overfit gaps; scale the dataset (~600+) before relying on it.
76
+ - Inherits the base model's limitations (public-data bias, temporal cutoff).
77
+ - Not for autonomous security decisions without human review.
78
+
79
+ ## Author
80
+
81
+ Built by [**Netanel Elyasi**](https://huggingface.co/BrainboxAI), founder of BrainboxAI.