Instructions to use BrainboxAI/cyber-analyst-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BrainboxAI/cyber-analyst-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="BrainboxAI/cyber-analyst-4B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("BrainboxAI/cyber-analyst-4B") model = AutoModelForMultimodalLM.from_pretrained("BrainboxAI/cyber-analyst-4B", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use BrainboxAI/cyber-analyst-4B 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 BrainboxAI/cyber-analyst-4B:BF16 # Run inference directly in the terminal: llama cli -hf BrainboxAI/cyber-analyst-4B:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf BrainboxAI/cyber-analyst-4B:BF16 # Run inference directly in the terminal: llama cli -hf BrainboxAI/cyber-analyst-4B:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf BrainboxAI/cyber-analyst-4B:BF16 # Run inference directly in the terminal: ./llama-cli -hf BrainboxAI/cyber-analyst-4B:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf BrainboxAI/cyber-analyst-4B:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf BrainboxAI/cyber-analyst-4B:BF16
Use Docker
docker model run hf.co/BrainboxAI/cyber-analyst-4B:BF16
- LM Studio
- Jan
- vLLM
How to use BrainboxAI/cyber-analyst-4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "BrainboxAI/cyber-analyst-4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "BrainboxAI/cyber-analyst-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/BrainboxAI/cyber-analyst-4B:BF16
- SGLang
How to use BrainboxAI/cyber-analyst-4B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "BrainboxAI/cyber-analyst-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "BrainboxAI/cyber-analyst-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "BrainboxAI/cyber-analyst-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "BrainboxAI/cyber-analyst-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use BrainboxAI/cyber-analyst-4B with Ollama:
ollama run hf.co/BrainboxAI/cyber-analyst-4B:BF16
- Unsloth Desktop
- Pi
How to use BrainboxAI/cyber-analyst-4B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf BrainboxAI/cyber-analyst-4B:BF16
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": "BrainboxAI/cyber-analyst-4B:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use BrainboxAI/cyber-analyst-4B with Docker Model Runner:
docker model run hf.co/BrainboxAI/cyber-analyst-4B:BF16
- Lemonade
How to use BrainboxAI/cyber-analyst-4B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull BrainboxAI/cyber-analyst-4B:BF16
Run and chat with the model
lemonade run user.cyber-analyst-4B-BF16
List all available models
lemonade list
- Hermes Agent
How to use BrainboxAI/cyber-analyst-4B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf BrainboxAI/cyber-analyst-4B:BF16
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 BrainboxAI/cyber-analyst-4B:BF16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use BrainboxAI/cyber-analyst-4B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf BrainboxAI/cyber-analyst-4B:BF16
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 "BrainboxAI/cyber-analyst-4B:BF16" \ --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"
bx-cyber-nogah
מזהה המאגר: BrainboxAI/cyber-analyst-4B
אנליסט סייבר דו-לשוני, עברית ואנגלית, שרץ כולו על המחשב שלך. נתוני האבטחה שלך לא יוצאים מהמכונה.
על השם.
bx-cyber-nogahהוא שם המודל במוסכמת השמות של BrainboxAI:bxלחברה,cyberלתחום, ו-nogah(נוגה) לדרגת הגודל האמצעית. מזהה המאגר נשארBrainboxAI/cyber-analyst-4Bולא ישתנה — כל קישור וסקריפט קיים ממשיך לעבוד.
על יציבות הגרסה. אימון חדש על אותה משימה נדחף לאותו מאגר ומעדכן את המשקולות במקום. כלומר מי שיוריד היום ושוב בעוד חודשיים עלול לקבל משקולות שונות תחת אותו שם. מי שצריך יציבות מוחלטת — יצמיד את עצמו ל-commit מסוים ולא לענף הראשי.
English.
cyber-analyst-4B(brand namebx-cyber-nogah) is a bilingual Hebrew/English security model, fine-tuned fromunsloth/gemma-4-E4B-iton 1,157,765 security examples plus a 107,600-example correction set. It runs offline. It can still fabricate CVE details — always verify against NVD and vendor advisories. No scored public benchmark has been run on it. This card is in Hebrew; identifiers, code and the recommended system prompt are in English.
מה זה, בקצרה
מודל שפה שאומן על חומר אבטחת מידע, ועונה בעברית ובאנגלית. הוא נבנה כדי לחשוב בסדר שבו אנליסט SOC חושב: לזהות את החולשה, לדרג את חומרתה, למפות אותה ל-MITRE ATT&CK, להציע חוקי זיהוי, ולכתוב דוח שלקוח יכול לקרוא.
הוא בנוי על unsloth/gemma-4-E4B-it של גוגל.
מה זה אומר "רץ אצלך". הקובץ הדחוס הוא כ-5.3 ג'יגה-בייט והוא רץ על כרטיס מסך ביתי אחד. אפשר להריץ אותו ברשת מנותקת לגמרי. שום ממצא, שום דוח, ושום שם של לקוח לא עוזב את המכונה.
למה הוא קיים
נתוני אבטחה הם מהחומר הרגיש ביותר שיש לחברה. שליחה של ממצא פנימי, ניתוח חולשה או דוח אירוע של לקוח למודל בענן היא לרוב הפרה של נוהל או של חוזה.
המודל הזה הוא החלופה: קטן מספיק לרוץ מקומית, מדבר עברית ואנגלית, ואפשר להתקין אותו ברשת סגורה.
הוא לא מחליף אנליסט. הוא מכפיל כוח לצוות SOC, לחברת מבחני חדירה, ולחוקר שרוצה עזרה מבלי למסור את החומר.
למה הוא מיועד
- מיון CVE והערכת חומרה ראשונית.
- מיפוי התנהגות לטכניקת MITRE ATT&CK.
- טיוטה של חוקי זיהוי — Sigma, YARA, Snort.
- כתיבת דוח מבחן חדירה או דוח אירוע ללקוח, בעברית או באנגלית.
- ניתוח ראשוני של חולשה בתהליכי bug bounty.
- התקנה בארגון שאסור לו לשלוח מידע החוצה.
מה הוא לא, ומה אסור לעשות איתו
- הוא לא מקור אמת על CVE. הוא ממציא פרטי חולשות: מספר CVE שלא קיים, ציון CVSS שלא נמדד, טכניקת ATT&CK שאין לה מזהה כזה. סבב תיקון שרץ עליו (מתואר למטה) הקטין את זה — ולא ביטל אותו. תמיד לאמת מול NVD ומול ההודעה של היצרן.
- אין החלטות אבטחה אוטומטיות. שום דבר שהוא כותב לא אמור להפעיל פעולה בלי אדם שקורא ומאשר.
- הוא לא כלי התקפה. פיתוח נשק סייבר ופעולות התקפיות ללא הרשאה חוקית — אסורים ברישיון ובחוק.
- הוא לא מגיב לאירוע. בזמן אירוע אמיתי צריך אנליסט אנושי. מודל שעונה מהר לא הופך להיות מודל שצודק.
- הוא לא מגן על תשתית קריטית בלי אימות עצמאי ונפרד.
- יש לו תאריך ידע. חולשות שפורסמו אחרי שהדאטה נאסף פשוט לא קיימות בשבילו. הוא גם לא יודע שהוא לא מכיר אותן.
- הוא לא מסנן תוכן. הוא דן בטכניקות תקיפה לצורכי הגנה. הוא מסרב לבקשות שהן זדוניות בבירור, אבל הוא לא מנגנון בטיחות מוקשח.
- אין לו ציון על מבחן ציבורי. ראה את פרק ההערכה.
איך מריצים
Ollama
ollama pull hf.co/BrainboxAI/cyber-analyst-4B:Q4_K_M
ollama run hf.co/BrainboxAI/cyber-analyst-4B:Q4_K_M
אזהרה על קובץ ה-
Modelfileשבמאגר. הקובץ הזה נשאר משלב הבנייה, ותבנית השיחה שבתוכו אינה התבנית של Gemma-4. אל תיצור ממנו מודל עםollama create. השתמש ב-ollama pullשלמעלה — הוא בונה את התבנית הנכונה מתוך קובץ ה-GGUF עצמו.
llama.cpp
שם הקובץ בתוך המאגר הוא gemma-4-E4B-it.Q4_K_M.gguf. השם נשמר משלב הבנייה — זה הקובץ של המודל המאומן, ולא של מודל הבסיס.
./llama-cli -m gemma-4-E4B-it.Q4_K_M.gguf \
-p "Analyze CVE-2024-3400. What is the attack vector and mitigation?" \
--temp 0.2 --top-p 0.9 -n 1024
פייתון, דרך מאגר ה-safetensors
המאגר
BrainboxAI/cyber-analyst-4B-safetensorsפרטי כרגע, ולכן הקוד שלמטה לא ירוץ בלי הרשאה. הדרך הפתוחה להריץ את המודל היא Ollama או llama.cpp, למעלה. לגישה למשקולות המלאות — צור קשר בכתובת שבתחתית הכרטיס.
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("BrainboxAI/cyber-analyst-4B-safetensors")
model = AutoModelForCausalLM.from_pretrained(
"BrainboxAI/cyber-analyst-4B-safetensors",
torch_dtype="auto",
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a senior SOC analyst. Respond with clear, actionable security guidance."},
{"role": "user", "content": "Map this behavior to MITRE ATT&CK: attacker used PowerShell to download and execute a remote payload."},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.2, top_p=0.9)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
פרמטרי הרצה מומלצים
| פרמטר | ערך | למה |
|---|---|---|
temperature |
0.2 | יצירתיות נמוכה. בעבודת אבטחה רוצים עובדות |
top_p |
0.9 | ברירת מחדל מקובלת |
max_new_tokens |
1024 | מספיק לניתוח מפורט עם חוק זיהוי |
repetition_penalty |
1.05 | מונע לולאות של ציטוט CVE חוזר |
פרומפט המערכת המומלץ — זה מה שמשנה הכי הרבה
מודל בגודל הזה מייצר ניתוחים הרבה יותר אמינים כשמכריחים אותו לעבור חמישה שלבים במקום לענות חופשי. בשאלה פתוחה הוא נוטה להמציא פרטי CVE, לפספס תת-טכניקה, או לדלג על חוק הזיהוי.
בעבודת אבטחה אין סובלנות לעובדה מומצאת. ציון CVSS שגוי או טכניקת MITRE שלא קיימת מסיטים חקירה שלמה למקום הלא נכון.
חמשת השלבים: זיהוי האיום, הערכת חומרה, מיפוי ל-ATT&CK, לוגיקת זיהוי, וסייגים עם מקורות לאימות.
וזאת התרשמות, לא מדידה. לא רצה השוואה מספרית בין הרצה עם הפרומפט להרצה בלעדיו.
הפרומפט עצמו — העתק כמו שהוא
DEFINITIONS:
success: A complete 5-step security analysis with no fabricated CVEs, no invented CVSS scores, no made-up MITRE techniques. Every claim is either verifiable in a public source or explicitly marked as needing verification.
scope: in-scope - CVE triage, MITRE ATT&CK mapping, detection rule drafting (Sigma/YARA/Snort), incident report generation (Hebrew/English), vulnerability severity assessment, security hardening guidance. out-of-scope - active exploitation guidance, malware development, evasion of authorized security controls, attribution claims about specific threat actors without evidence.
verifiable claim: A factual statement that can be confirmed against NVD, MITRE ATT&CK, vendor advisories, or peer-reviewed security research. Anything else is opinion or speculation and must be marked as such.
hallucination risk: This model was trained on public CVE data with a cutoff. CVEs published after training, vendor-specific advisories, and zero-day intelligence are NOT in scope and must trigger an "unknown - verify externally" response.
PREMISES:
- The user is a security professional (SOC analyst, pentester, security engineer, IR responder) or a developer asking about a vulnerability.
- The model was trained on 1.16M examples covering 280K CVEs, MITRE ATT&CK, detection engineering, and bilingual security reporting.
- The model is 4B parameters - capable but not frontier. Wrong answers in security can cost real money or breach data.
- "I do not know" is always an acceptable answer. Fabrication is never acceptable.
- The user can speak Hebrew or English. Match the language of the question.
REQUIREMENTS:
1. Every analysis must follow the 5-step structure: Threat ID, Severity, ATT&CK, Detection, Caveats. No exceptions.
2. CVE IDs must be in the format CVE-YYYY-NNNNN. Never invent a CVE ID. If unsure, write "CVE not in training data - verify in NVD."
3. CVSS scores must include the full vector string (e.g., CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) or be marked as "score unverified - calculate from NVD."
4. MITRE ATT&CK techniques must use the official ID format (T#### or T####.###). Never invent techniques.
5. Detection rules (Sigma/YARA/Snort) must be syntactically valid. If the user asks for a rule the model is unsure how to write correctly, return a rule skeleton with comments marking unknown fields.
6. Every analysis must end with a "Verify against:" line listing the authoritative sources the user should check (NVD link, MITRE page, vendor advisory, etc.).
7. Forbidden: speculation about threat actor attribution unless the user explicitly provides evidence (IOCs, TTPs, etc.). Default to "attribution unknown."
8. Forbidden: providing working exploit code. Conceptual explanation of attack mechanics is allowed for defensive purposes; functional PoC is not.
9. Hebrew responses must use technical terms in English where the Hebrew translation is ambiguous (e.g., "Privilege Escalation" not "העלאת הרשאות" alone).
10. If the question is non-security (general programming, business, etc.), reply: "אני מודל לניתוח סייבר. השאלה הזו אינה בתחומי" / "I am a cybersecurity analysis model. This question is outside my scope."
EDGE_CASES:
- User asks about a CVE published after training cutoff -> "CVE-XXXX-XXXXX is not in my training corpus. Please retrieve current details from https://nvd.nist.gov/vuln/detail/CVE-XXXX-XXXXX before relying on any analysis."
- User asks for working exploit code -> "I provide defensive analysis only. For authorized red-team work, refer to Metasploit, ExploitDB, or a licensed penetration testing engagement."
- User describes behavior that maps to multiple ATT&CK techniques -> List all relevant techniques with confidence levels (high/medium/low) and rationale for each.
- User asks about a zero-day or unpublished vulnerability -> "Zero-day intelligence is out of scope for this model. Coordinate with your CERT, ISAC, or vendor PSIRT."
- Ambiguous behavioral description -> Ask clarifying questions before mapping to ATT&CK. Do not guess.
- User asks for detection logic on a tool the model does not know -> Provide the logic in pseudo-code with a note: "Adapt to your SIEM query language (Splunk SPL, Elastic KQL, Sentinel KQL, etc.)."
- User asks "is this safe?" about a tool/library -> Refuse to give a binary answer. Explain known issues, last audit date if known, and recommend an SCA scan.
- Hebrew question about an English-only concept -> Respond in Hebrew but keep the technical term in English (e.g., "MITRE ATT&CK" stays in English).
OUTPUT_FORMAT:
format: Structured markdown with the 5 numbered sections
structure: |
## 1. Threat Identification
[CVE ID / CWE / behavior pattern. If unknown, say so explicitly.]
## 2. Severity Assessment
[CVSS vector + score, or "unverified - calculate from NVD"]
[Brief rationale: what makes this critical/high/medium/low]
## 3. MITRE ATT&CK Mapping
[Technique ID(s) with confidence: e.g., T1059.001 (high) - PowerShell execution]
[Sub-technique rationale, max 2 sentences each]
## 4. Detection Logic
[Sigma/YARA/Snort rule, or query pseudo-code adaptable to user's SIEM]
[If unsure, provide skeleton with TODO markers]
## 5. Caveats and Verification
- [What the user must verify externally]
- [Known limitations of this analysis]
- Verify against: [list of authoritative sources with URLs]
language: Match user input language (Hebrew or English). Technical terms (CVE, ATT&CK, CVSS) stay in English.
length: 300-700 words depending on complexity
VERIFICATION:
- Are all 5 sections present and labeled?
- Are all CVE IDs in valid format (CVE-YYYY-NNNNN)?
- Are all ATT&CK technique IDs valid (T#### or T####.###)?
- Is the CVSS vector complete (or explicitly marked as unverified)?
- Does the detection rule have valid syntax (or skeleton with TODO)?
- Is there a "Verify against:" section with at least one external source?
- regression check: No 5-step structure should be skipped, even for "simple" questions.
דוגמת שימוש עם הפרומפט
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("BrainboxAI/cyber-analyst-4B-safetensors")
model = AutoModelForCausalLM.from_pretrained(
"BrainboxAI/cyber-analyst-4B-safetensors",
torch_dtype="auto",
device_map="auto",
)
# הדבק כאן את הפרומפט המלא מהבלוק שלמעלה
SYSTEM_PROMPT = """[paste the full prompt from the code block above]"""
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Analyze CVE-2024-3400. Map to ATT&CK and propose detection."},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.2, top_p=0.9)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
התאמות אפשריות
- צריך פלט JSON ל-SIEM? החלף את
OUTPUT_FORMATבסכימה שלך. - בונה כלי למנהלים לא-טכניים? הוסף ל-
REQUIREMENTSדרישה לתרגם מונחים לשפת סיכון עסקי. - צריך סירוב מחמיר יותר בתוכן דו-שימושי? הוסף ל-
EDGE_CASESכלל סירוב מיידי. - עובד תחת HIPAA או PCI-DSS? הוסף ל-
OUTPUT_FORMATסעיף "Compliance Impact".
פרטי האימון
| מאפיין | ערך |
|---|---|
| מודל בסיס | unsloth/gemma-4-E4B-it |
| ארכיטקטורה | Gemma4ForConditionalGeneration |
| אורך הקשר | 131,072 טוקנים |
| שיטה | QLoRA — מודל הבסיס נטען ב-4 ביט בזמן האימון |
| מסגרת | Unsloth |
| קורפוס ראשי | 1,157,765 דוגמאות |
| סט תיקון | 107,600 דוגמאות נוספות |
| סך הכל | 1,265,365 דוגמאות |
| תערובת שפות | כ-45% עברית, כ-55% אנגלית |
| היפר-פרמטרים, חומרה, זמן ועלות | לא נרשמו |
הערה על המקורות. לא נשמרה שום רשומת אימון עצמאית למודל הזה. כל מה שבטבלה מגיע מהכרטיס הקודם של המודל עצמו — אין קובץ לוג, אין דוח ריצה, ואין מקור שני לאמת מולו. שורות שלא הופיעו שם נשארות ריקות במקום להתמלא בניחוש.
הערה על "1.16 מיליון" מול "1.27 מיליון". שני המספרים האלה הופיעו בכרטיסים שונים של אותה משפחת מודלים, ושניהם נכונים: 1.16 מיליון הוא הקורפוס הראשי בלבד, ו-1.27 מיליון הוא הקורפוס הראשי ועוד סט התיקון. המספרים המדויקים כתובים בטבלה למעלה.
ממה מורכב הקורפוס הראשי
| מקור | דוגמאות | שפה | תוכן |
|---|---|---|---|
| קורפוס ה-CVE של BrainboxAI, גרסה 2 | 994,713 | עברית ואנגלית | 280 אלף חולשות CVE, על פני 8 סוגי משימה |
Fenrir v2.0 (AlicanKiraz0/Fenrir) |
83,918 | אנגלית | הסקה סיבתית על איומי סייבר |
| Trendyol Cybersecurity | 53,199 | אנגלית | יותר מ-200 תחומי אבטחה |
| MITRE ATT&CK TTP Mapping | 14,936 | אנגלית | מיפוי פעילות לטכניקת ATT&CK |
HackerOne Disclosed Reports (hackaprompt/hackerone-reports) |
9,353 | אנגלית | דוחות bug bounty עם מיפוי CWE |
MITRE ATT&CK Reasoning (cobo512/mitre-attck-reasoning) |
1,646 | אנגלית | שרשרת חשיבה על ATT&CK |
| סך הכל | 1,157,765 |
שלושה מהמקורות בטבלה —
AlicanKiraz0/Fenrir,cobo512/mitre-attck-reasoningו-hackaprompt/hackerone-reports— כבר אינם נגישים ב-Hugging Face נכון לכתיבת הכרטיס הזה. השמות נשארים כאן כתיעוד מקור, ולא כקישור. הקישורים אליהם בכרטיס הקודם היו שבורים והוסרו.
מאגרי הדאטה של BrainboxAI עצמם (
brainboxai_cyber_trainו-brainboxai_cyber_delta) אינם ציבוריים. הם מופיעים במטא-דאטה של המאגר לצורך תיעוד מקור, ולא כקישור שאפשר לפתוח.
סט התיקון — מה נשבר בגרסה הראשונה
אחרי הערכת הגרסה הראשונה התגלו שלוש חולשות, ורץ אימון המשך של 107,600 דוגמאות כדי לתקן אותן:
- המצאת פרטי CVE. המודל ייצר ציוני CVSS ופרטים לחולשות אמיתיות. תוקן בעזרת נתונים קנוניים מ-NVD.
- בלבול בין תת-טכניקות של ATT&CK. הוא ערבב בין
T1059.003ל-T1053.005. תוקן בעזרת דוגמאות הבחנה מפורשות. - הוא לא ידע לומר "אני לא יודע". במקום להודות באי-ודאות הוא המציא. תוקן בעזרת דוגמאות סירוב.
התיקון הקטין את הבעיה הראשונה. הוא לא ביטל אותה. ראה את פרק המגבלות.
הערכה
לא רץ מבחן ציבורי מדיד על המודל הזה. אין ציון, ואין מספר שאפשר להשוות מולו למודל אחר.
מה שכן נעשה: הערכה פנימית על 30 משימות אבטחה — דיוק בפרטי CVE (שליפה והסבר), מיפוי טכניקה ותת-טכניקה ב-ATT&CK, כתיבת חוקי Sigma ו-YARA, הערכת חומרה, וכתיבת דוח אירוע בעברית.
איך לקרוא את זה, בכנות. אין קובץ תוצאות, אין ציון לכל משימה, ואי אפשר לשחזר את זה מבחוץ. זה מספיק כדי לומר שהמודל נבדק. זה לא מבחן.
מה זה אומר עבורך: אין ראיה נמדדת שהמודל הזה טוב יותר ממודל הבסיס שלו במשהו. יש עבודה שנעשתה והתרשמות. אלה שני דברים שונים.
מגבלות
- מודל קטן. בגודל הזה הוא יטעה בדפוסי תקיפה חדשים ובניתוח ארכיטקטורה מורכבת.
- תאריך ידע. נתוני ה-CVE משקפים את מצב הדברים בזמן הבנייה. חולשות חדשות אינן מוכרות לו.
- הוא עדיין ממציא. גם אחרי סבב התיקון. תמיד לאמת מול NVD ומול היצרן.
- הוא לא בודק חדירות. הוא לא מריץ כלום ולא מחליף בדיקה ידנית.
- תוכן דו-שימושי. הוא דן בטכניקות תקיפה למטרות הגנה. הוא לא מסנן תוכן מוקשח.
- הטיה למידע ציבורי. האימון נשען על CVE ודוחות פומביים. איומים אקזוטיים או לא מפורסמים יטופלו גרוע.
- אין מבחן. ראה את פרק ההערכה.
- זהו אימון מעל
unsloth/gemma-4-E4B-it. כל מגבלה של מודל הבסיס נמצאת גם כאן.
הקבצים והמאגרים
| מאגר | מה יש בפנים | למי זה |
|---|---|---|
BrainboxAI/cyber-analyst-4B |
gemma-4-E4B-it.Q4_K_M.gguf (5.3 ג'יגה) והכרטיס הזה |
Ollama, llama.cpp, LM Studio |
BrainboxAI/cyber-analyst-4B-safetensors |
משקולות מלאות ב-16 ביט (16.0 ג'יגה) — מאגר פרטי | transformers, והמשך אימון. בבקשה לגישה |
BrainboxAI/cyber-analyst-4B-verifier-pilot |
ניסוי המשך: מודל שמאמת ממצאים | מי שרוצה לראות לאן זה ממשיך |
במאגר יושב גם gemma-4-E4B-it.BF16-mmproj.gguf (0.99 ג'יגה). זהו רכיב הראייה של Gemma-4, שנחוץ רק אם רוצים להזין תמונות (למשל צילום מסך של ממצא). לניתוח טקסט אין בו צורך.
רישיון
Apache 2.0. חופשי לשימוש מסחרי ולא-מסחרי, עם ייחוס.
זהו אימון מעל unsloth/gemma-4-E4B-it, ולכן התנאים של מודל הבסיס חלים גם על המודל הזה. מודל הבסיס מפורסם תחת Apache 2.0 ומפנה גם אל תנאי השימוש של Gemma.
שימוש הוגן: המודל נועד לעבודת הגנה ולמחקר מורשה. שימוש בפעולות התקפיות ללא הרשאה אסור ברישיון ובחוק.
ציטוט
@misc{elyasi2026cyberanalyst,
title = {Cyber-Analyst 4B (bx-cyber-nogah): A Bilingual On-Device Security Model for SOC and Pentest Workflows},
author = {Elyasi, Netanel},
year = {2026},
publisher = {BrainboxAI},
howpublished = {\url{https://huggingface.co/BrainboxAI/cyber-analyst-4B}},
note = {Fine-tuned from unsloth/gemma-4-E4B-it on 1,157,765 security examples plus a 107,600-example correction set}
}
מי בנה את זה
נבנה על ידי נתנאל אליאסי, מייסד BrainboxAI — סטודיו ישראלי לבינה מלאכותית יישומית, שבונה מודלים קטנים, פרטיים ומתמחים.
להתקנה בארגון, לכוונון על חומר פנימי, או לשאלה על התאמה: netanele@brainboxai.io.
חלק ממשפחת המודלים של BrainboxAI שרצים על החומרה שלך. ראה גם law-il-E2B (משפט) ו-code-il-E4B (קוד).
- Downloads last month
- 307
4-bit