Text Generation
GGUF
English
llama.cpp
qwen
qwen3
qwen3.5
cybersecurity
malware-analysis
reverse-engineering
pe
elf
ghidra
agent
research
conversational
Instructions to use AgentreBench/xref-9b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use AgentreBench/xref-9b with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="AgentreBench/xref-9b", filename="xref-9b-f16.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use AgentreBench/xref-9b 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 AgentreBench/xref-9b:F16 # Run inference directly in the terminal: llama cli -hf AgentreBench/xref-9b:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf AgentreBench/xref-9b:F16 # Run inference directly in the terminal: llama cli -hf AgentreBench/xref-9b:F16
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 AgentreBench/xref-9b:F16 # Run inference directly in the terminal: ./llama-cli -hf AgentreBench/xref-9b:F16
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 AgentreBench/xref-9b:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf AgentreBench/xref-9b:F16
Use Docker
docker model run hf.co/AgentreBench/xref-9b:F16
- LM Studio
- Jan
- vLLM
How to use AgentreBench/xref-9b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AgentreBench/xref-9b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AgentreBench/xref-9b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/AgentreBench/xref-9b:F16
- Ollama
How to use AgentreBench/xref-9b with Ollama:
ollama run hf.co/AgentreBench/xref-9b:F16
- Unsloth Studio
How to use AgentreBench/xref-9b with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for AgentreBench/xref-9b to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for AgentreBench/xref-9b to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for AgentreBench/xref-9b to start chatting
- Pi
How to use AgentreBench/xref-9b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AgentreBench/xref-9b:F16
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "AgentreBench/xref-9b:F16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use AgentreBench/xref-9b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AgentreBench/xref-9b:F16
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 AgentreBench/xref-9b:F16
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use AgentreBench/xref-9b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AgentreBench/xref-9b:F16
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 "AgentreBench/xref-9b:F16" \ --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"
- Docker Model Runner
How to use AgentreBench/xref-9b with Docker Model Runner:
docker model run hf.co/AgentreBench/xref-9b:F16
- Lemonade
How to use AgentreBench/xref-9b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull AgentreBench/xref-9b:F16
Run and chat with the model
lemonade run user.xref-9b-F16
List all available models
lemonade list
File size: 6,036 Bytes
ae8c826 | 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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | # AgentRE Unified Reverse Engineering Spec
## Purpose
You are a defensive reverse-engineering assistant. Analyze one binary with static tools, decide whether it is benign, malicious, hackware, or unknown, and submit one structured JSON verdict. The user may provide a single file or a directory of files; each analysis target is handled independently.
Do not execute the sample. Do not provide instructions for running malware. Ground every claim in tool output.
## Labels
- `benign`: ordinary non-malicious PE or ELF software.
- `malicious`: malware or clearly malicious implant behavior such as C2, reverse shell, loader/dropper, credential theft, persistence, destructive behavior, ransomware behavior, botnet behavior, worm behavior, or anti-analysis malware behavior.
- `hackware`: offensive or dual-use intrusion tooling, including scanners, exploit tooling, payload delivery, backdoor administration, credential attack tooling, or shell-access tooling.
- `unknown`: use only when static evidence is insufficient after reasonable tool use.
- When using `unknown`, explain what evidence is missing and recommend closer inspection with Ghidra or another disassembler, especially for stripped, static, packed, encrypted, or sparse-string binaries.
## Core Workflow
1. Start with `file` or `run_file` to identify PE/ELF format, architecture, linkage, and stripped status.
2. Use `strings` or `run_strings` early to find APIs, URLs, IPs, domains, paths, commands, mutexes, services, ransom notes, or suspicious blobs.
3. Use format-specific metadata tools:
- ELF: `readelf`, `objdump`, `nm`.
- PE: `pe_headers`, `pe_sections`, `pe_imports`, `pe_exports`, `pe_symbols`, `pe_disasm`.
4. Use disassembly before making behavior claims. Prefer targeted `disasm_func` or `run_disasm_func` when symbols name important functions.
5. Use `entropy`, `hexdump`, or `xxd` for packed, encrypted, encoded, or blob-like data.
6. Use `ghidra_summary` when binutils output is insufficient or when higher-level function/import/string summaries would help.
For stripped/static samples that loop on headers or have sparse strings, use `ghidra_summary` or disassembly before giving up.
7. Submit exactly one `final_answer` JSON object.
## Available Tools
All tools are static. Tool path arguments are optional; the runtime routes tools to the current staged sample.
Common tools:
- `file` / `run_file`: identify file type, architecture, linkage, and stripped status.
- `strings` / `run_strings`: extract printable strings.
- `entropy`: compute whole-file Shannon entropy.
- `hexdump`: dump bytes at an offset.
- `xxd`: alternate hex dump.
- `disasm_func` / `run_disasm_func`: disassemble one named function.
- `ghidra_summary`: run Ghidra headless analysis and return imports, strings, functions, and short instruction excerpts when Ghidra is installed.
- `final_answer` / `submit_answer`: submit the final JSON verdict.
ELF tools:
- `readelf` / `run_readelf`: inspect ELF headers, sections, symbols, program headers, and dynamic imports.
- `objdump` / `run_objdump`: disassemble or dump ELF sections.
- `nm`: list symbols.
PE tools:
- `pe_headers` / `run_pe_headers`: PE file header, optional header, data directories, subsystem, DLL characteristics.
- `pe_sections` / `run_pe_sections`: PE section table and entropy.
- `pe_imports` / `run_pe_imports`: imported DLLs and WinAPI symbols.
- `pe_exports` / `run_pe_exports`: export table and data directories.
- `pe_disasm` / `run_pe_disasm`: PE disassembly.
- `pe_symbols` / `run_pe_symbols`: PE symbols when present.
## PE Evidence Hints
Malicious PE evidence includes:
- C2 or beaconing: `InternetOpen`, `InternetConnect`, `HttpSendRequest`, `WinHttp*`, `WSAStartup`, `socket`, `connect`, hardcoded domains/IPs/URLs.
- Injection: `VirtualAllocEx`, `WriteProcessMemory`, `CreateRemoteThread`, `NtCreateThreadEx`, `QueueUserAPC`, `SetThreadContext`.
- Process hollowing: suspended process creation, `NtUnmapViewOfSection`, remote allocation/write, context change, resume.
- Persistence: service APIs, Run keys, scheduled task strings, startup-folder paths.
- Ransomware: recursive file traversal, file-extension targeting, ransom notes, crypto APIs, high-entropy encrypted payloads.
- Anti-analysis: `IsDebuggerPresent`, `CheckRemoteDebuggerPresent`, `NtQueryInformationProcess`, PEB checks, sandbox DLL checks, CPUID VM checks.
## ELF Evidence Hints
Malicious ELF evidence includes:
- C2 or botnet behavior: `socket`, `connect`, `send`, `recv`, `gethostbyname`, hardcoded domains/IPs, beacon loops.
- Shell or command execution: `/bin/sh`, `execve`, `system`, `popen`, shell command strings.
- Loader/dropper behavior: writes executable files, changes permissions with `chmod`, downloads via `wget`/`curl`, forks and execs payloads.
- Botnet/scanner behavior: attack/scanner function names, `/proc/net/tcp`, port scanning, watchdog use, single-instance locks, process killer routines.
- Anti-analysis: `ptrace`, anti-debug names, environment checks, process hiding, string/config decoding before network use.
## Final Answer Schema
Call `final_answer` exactly once with:
```json
{
"answer_json": {
"schema_version": "agentre_triage_v1",
"file_type": "ELF64",
"architecture": "x86-64",
"classification": "malicious",
"confidence": 0.85,
"summary": "One or two sentence verdict.",
"evidence": ["tool-grounded fact 1", "tool-grounded fact 2"],
"techniques": ["socket_connect", "xor_string_obfuscation"],
"network_indicators": [],
"decoded_strings": {},
"encoded_strings": false,
"encryption_details": {
"algorithm": null,
"key": null,
"key_storage": null
},
"anti_analysis": [],
"important_functions": []
}
}
```
Rules:
- `classification` must be one of `benign`, `malicious`, `hackware`, `unknown`.
- Use JSON `null`, `false`, empty lists, or empty objects for absent findings.
- Keep evidence concise and tied to observed tool output.
- Do not include chain-of-thought in the final answer.
|