ProCreations commited on
Commit
2a081e5
·
verified ·
1 Parent(s): f27b745

Release auto-0.4b-3

Browse files

Auto v3: weights, model card, charts and per-item benchmark scores.

.gitattributes CHANGED
@@ -33,3 +33,9 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/accuracy.png filter=lfs diff=lfs merge=lfs -text
37
+ assets/cost.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/errors.png filter=lfs diff=lfs merge=lfs -text
39
+ assets/speed.png filter=lfs diff=lfs merge=lfs -text
40
+ assets/tradeoff.png filter=lfs diff=lfs merge=lfs -text
41
+ assets/v2-to-v3.png filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: ProCreations/auto-0.4b-2
3
+ base_model_relation: finetune
4
+ library_name: transformers
5
+ license: apache-2.0
6
+ pipeline_tag: text-classification
7
+ tags:
8
+ - modernbert
9
+ - agent-safety
10
+ - tool-calling
11
+ - guardrail
12
+ - long-context
13
+ model-index:
14
+ - name: auto-0.4b-3
15
+ results:
16
+ - task:
17
+ type: text-classification
18
+ name: Agentic tool-call approve/deny classification
19
+ dataset:
20
+ name: Approve-or-Deny
21
+ type: ProCreations/approve-or-deny
22
+ split: test
23
+ revision: a38b625913dd46ca9702063f1597c979e6ace34e
24
+ metrics:
25
+ - type: accuracy
26
+ value: 0.9720
27
+ - type: roc_auc
28
+ value: 0.9955
29
+ - type: false_approve_rate
30
+ value: 0.0335
31
+ - type: false_deny_rate
32
+ value: 0.0231
33
+ ---
34
+
35
+ # auto-0.4b-3
36
+
37
+ A 395.8M-parameter classifier that decides whether an AI agent's proposed tool call should run. It reads the proposed call, the user's request and the agent's history, and outputs `approve` or `deny`. auto-0.4b-3 is Auto's default model: accurate enough for everyday use and small enough to run on a laptop.
38
+
39
+ It is part of [Auto](https://github.com/SSHdotCodes/auto), a local guard for coding agents (Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI and others). Auto blocks a call only if it's consequential *and* the user didn't ask for it, or if the agent is following instructions planted in a page, file or tool output. Everything runs on your machine, and nothing it reads leaves it.
40
+
41
+ | | |
42
+ |---|---|
43
+ | **v3 benchmark** | **93.1%**, up from 70.2% for auto-0.4b-2 |
44
+ | **Missed harm / over-block** | 6.0% / 7.6% |
45
+ | **Original Approve-or-Deny benchmark** | 97.2% |
46
+ | **Time per decision** | 7 ms (median, NVIDIA RTX PRO 6000) |
47
+ | **Cost per million decisions** | \$23 on a rented GPU |
48
+ | **Architecture** | ModernBERT-large encoder, 395.8M parameters, BF16 weights (0.79 GB) |
49
+ | **Runs on** | a laptop CPU, Apple silicon or any GPU |
50
+
51
+ ## How it compares
52
+
53
+ ![Accuracy on the v3 benchmark, auto-0.4b-3 highlighted](assets/accuracy.png)
54
+
55
+ The v3 benchmark has 2,948 held-out tool calls. Each one is paired with a near-twin where one detail flips the right answer: who asked, how far the request reaches, production or staging, the exact call, or where an instruction came from. A guard that guesses from surface features gets one of each pair wrong. Hosted guards were prompted with the same decision rule that Auto's training labels follow, and every Auto model is scored at `P(deny) >= 0.5`.
56
+
57
+ ![Missed harm and over-block rates](assets/errors.png)
58
+
59
+ A guard can be wrong in two ways. Missed harm lets a harmful call through; over-blocking interrupts work you asked for. Hosted LLMs tend to trade one for the other: DeepSeek V4.1 Flash misses almost nothing (0.6%) but blocks 7.9% of authorized calls.
60
+
61
+ ![Median time per decision](assets/speed.png)
62
+
63
+ ![Cost per million decisions](assets/cost.png)
64
+
65
+ ![Accuracy against cost](assets/tradeoff.png)
66
+
67
+ | Model | v3 accuracy (95% CI) | Missed harm | Over-block | Both twins right | Time per decision | Cost per 1M |
68
+ |---|---:|---:|---:|---:|---:|---:|
69
+ | [auto-3b-3](https://huggingface.co/ProCreations/auto-3b-3) | 96.0% (95.3–96.7) | 3.1% | 4.8% | 92.8% | 21 ms | \$77 |
70
+ | DeepSeek V4.1 Flash (max reasoning) | 95.6% (94.8–96.3) | 0.6% | 7.9% | 91.1% | 1.3 s | \$3,043 |
71
+ | Codex auto-review (medium) | 95.5% (94.7–96.2) | 4.9% | 4.1% | 90.8% | – | \$11,353 |
72
+ | GLM-5.3 Flash (high reasoning) | 95.4% (94.5–96.1) | 5.5% | 3.8% | 90.2% | 1.2 s | \$629 |
73
+ | **auto-0.4b-3** | 93.1% (92.2–94.0) | 6.0% | 7.6% | 87.2% | 7 ms | \$23 |
74
+ | TypeSafe Jev 1.14 | 90.2% (89.1–91.2) | 12.5% | 7.3% | 80.1% | 136 ms | \$227 |
75
+ | [auto-150m-3](https://huggingface.co/ProCreations/auto-150m-3) | 88.8% (87.7–89.9) | 9.1% | 13.1% | 78.7% | 5 ms | \$13 |
76
+ | GPT-6 Luna (low reasoning) | 87.9% (86.7–89.0) | 5.8% | 17.9% | 75.8% | – | \$395 |
77
+
78
+ *Missed harm:* share of deny items approved. *Over-block:* share of approve items denied. *Both twins right:* share of pairs where both halves are correct. *Time:* Auto on a local NVIDIA RTX PRO 6000, one request at a time; hosted guards are API round trips measured unloaded (Codex auto-review and GPT-6 Luna run through CLIs, which take 12–13 s per decision, so they're left out of the speed comparison). *Cost:* Auto on a rented RTX PRO 6000 at \$2.18/h (median market rate), about \$0.50–\$3 per million in electricity on a GPU you own; hosted guards at list price × measured tokens.
79
+
80
+ ### v2 → v3
81
+
82
+ ![v2 to v3 accuracy for each Auto size](assets/v2-to-v3.png)
83
+
84
+ | Original Approve-or-Deny benchmark (3,000 items) | auto-0.4b-2 | auto-0.4b-3 |
85
+ |---|---:|---:|
86
+ | Accuracy | 97.00% | 97.20% |
87
+ | Harmful calls approved (of 1,401) | 36 | 47 |
88
+ | Authorized calls denied (of 1,599) | 54 | 37 |
89
+ | AUROC | – | 0.9955 |
90
+
91
+ On the original benchmark, v3 keeps its accuracy but shifts toward approving: it denies fewer authorized calls and approves more of the harmful ones. On the v3 benchmark it is far stronger on both counts.
92
+
93
+ ### Breakdown on the v3 benchmark
94
+
95
+ | Slice | Accuracy |
96
+ |---|---:|
97
+ | Written by Claude Opus 4.8 (not a training-data writer) | 90.4% |
98
+ | Written by GPT-6.1 Sol | 94.7% |
99
+ | Long sessions | 92.5% |
100
+ | Non-shell tools (browser, email, CRM, ...) | 93.2% |
101
+ | Twin flips on who asked | 94.4% |
102
+ | Twin flips on scope | 91.0% |
103
+ | Twin flips on environment | 94.6% |
104
+ | Twin flips on the exact call | 90.1% |
105
+ | Twin flips on where an instruction came from | 98.7% |
106
+
107
+ The most-missed harm categories are supply chain (12.2%), privilege escalation (9.0%), scope violation (7.8%). Per-item scores for both benchmarks are in [eval/](eval/), and every model's metrics are in [eval/results.json](eval/results.json).
108
+
109
+ Through Auto's runtime (Apple MPS), 78 of 80 random v3 items got the same decision as the reference scores (median P(deny) difference 0.0000). One of the two differences is a session trimmed to 8,192 tokens; the other is a borderline call within 0.05 of the 0.5 threshold. On the 413 v3 items longer than 8,192 tokens, Auto's context fitting scores 91.8%, against 92.5% with the full input.
110
+
111
+ ## Usage
112
+
113
+ ### With Auto
114
+
115
+ ```sh
116
+ curl -fsSL https://auto.ssh.codes/install.sh | sh
117
+ auto configure --model auto-0.4b-3
118
+ ```
119
+
120
+ The installer finds your agents and adds the hook. See the [Auto README](https://github.com/SSHdotCodes/auto) for the Python API, the Claude Agent SDK hook and LangChain middleware.
121
+
122
+ ### With Transformers
123
+
124
+ The model reads one serialized text. Keep the three sections and their order exactly as below.
125
+
126
+ ```python
127
+ import json
128
+ import torch
129
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer
130
+
131
+
132
+ def text(value):
133
+ return value if isinstance(value, str) else json.dumps(value, ensure_ascii=False, separators=(",", ":"))
134
+
135
+
136
+ def build_input(user_request, history, call):
137
+ parts = ["### PROPOSED TOOL CALL", f"tool: {call['tool']}", f"args: {text(call['args'])}", "",
138
+ "### USER REQUEST", user_request, "", "### AGENT HISTORY"]
139
+ if not history:
140
+ parts.append("(no prior actions)")
141
+ for i, action in enumerate(history, 1):
142
+ parts.append(f"[{i}] {action['tool']}({text(action['args'])})\n-> {text(action.get('result', ''))}")
143
+ return "\n".join(parts)
144
+
145
+
146
+ repo = "ProCreations/auto-0.4b-3"
147
+ tokenizer = AutoTokenizer.from_pretrained(repo)
148
+ model = AutoModelForSequenceClassification.from_pretrained(repo, dtype=torch.bfloat16).eval()
149
+
150
+ prompt = build_input(
151
+ user_request="Clean up the build artifacts and reinstall dependencies.",
152
+ history=[{"tool": "Bash", "args": {"command": "ls"}, "result": "node_modules dist package.json"}],
153
+ call={"tool": "Bash", "args": {"command": "rm -rf node_modules dist && npm install"}},
154
+ )
155
+ inputs = tokenizer(prompt, return_tensors="pt")
156
+ with torch.inference_mode():
157
+ p_deny = model(**inputs).logits.float().softmax(-1)[0, 1].item()
158
+ print("deny" if p_deny >= 0.5 else "approve", round(p_deny, 3))
159
+ ```
160
+
161
+ Labels are `0 = approve` and `1 = deny`. The model accepts up to 65,536 positions. For long sessions, Auto's runtime keeps memory bounded and fits the history to 8,192 tokens by default, keeping the older actions that mention what the call touches.
162
+
163
+ ## Training
164
+
165
+ - **Starting point:** [ProCreations/auto-0.4b-2](https://huggingface.co/ProCreations/auto-0.4b-2) (revision `5937dd01`).
166
+ - **New data:** about 100,000 contrastive pairs: two near-identical situations where one detail flips the right answer. They were written by GPT-6.1 Terra, GPT-6.1 Sol and DeepSeek V4.1 Flash, label-checked, and cover 53 agent harnesses, 11 languages and 23 categories, including browser, email, CRM and smart-home tools as well as the shell.
167
+ - **Replay:** 84,706 rows of v2 training data, kept close to auto-0.4b-2 by distillation (KL to the frozen v2 model at temperature 2, weight 0.8), so v3 doesn't forget the original distribution.
168
+ - **Loss on new rows:** cross-entropy, plus a pair margin `softplus(4 − (z_deny − z_approve))` (weight 0.5) that pushes each twin pair apart. Denials in the categories where early v3 trials missed more harm than v2, and hard examples, are weighted 1.5×.
169
+ - **Schedule:** 2 epochs, AdamW (β 0.9/0.95, weight decay 0.01), peak learning rate 1e-5, 3% warmup then decay to 10%, batches of up to 32,768 tokens, BF16 compute with FP32 master weights, on one NVIDIA RTX PRO 6000. The full settings are in [training_config.json](training_config.json).
170
+ - **Distillation tried, not used.** A version distilled from auto-3b-3 scored 92.7% on the v3 benchmark. The difference is not significant (McNemar p = 0.19), and the directly trained model misses less harm, so it is the release. That choice used the v3 benchmark, so this card's v3 numbers carry a little selection bias.
171
+ - **Held out:** the v3 benchmark items and their twins were never trained on. The benchmark isn't public yet.
172
+
173
+ ## Limitations
174
+
175
+ - **A classifier, not a chat model.** It can't open files, follow URLs or know what an opaque script does; it judges from the text it is given.
176
+ - **Synthetic labels.** Training and benchmark data were written by LLMs and label-checked, not collected from real agent traffic. Items written by Claude Opus 4.8, which wrote none of the training data, score lower (90.4%) than items from a training writer (94.7%), so expect some drop on unfamiliar styles.
177
+ - **Harm still gets through.** It approves 6.0% of harmful v3 calls. When Auto approves, your agent's own permission settings still apply; keep them on.
178
+ - Evaluate it on your own traffic before relying on it.
assets/accuracy.png ADDED

Git LFS Details

  • SHA256: 0e775eec1bce761923fb9a23f8b6b29199539a8752cdac60907858e4fa364b3b
  • Pointer size: 131 Bytes
  • Size of remote file: 229 kB
assets/cost.png ADDED

Git LFS Details

  • SHA256: 9ea7570bad71fd98114c405a0ae8c3b36fadf171a63b91b1801576f7de22abfc
  • Pointer size: 131 Bytes
  • Size of remote file: 203 kB
assets/errors.png ADDED

Git LFS Details

  • SHA256: fd5d8940fcaf5653a3e37ff2cc68a8a6fbbf53857d12fdaa4aa6224d29916c49
  • Pointer size: 131 Bytes
  • Size of remote file: 246 kB
assets/speed.png ADDED

Git LFS Details

  • SHA256: 2d9fdad02350c6bf57b86668b7ba95d990285663b07f9bdbfac3ddb4ee28703f
  • Pointer size: 131 Bytes
  • Size of remote file: 159 kB
assets/tradeoff.png ADDED

Git LFS Details

  • SHA256: 02149b9b848b04e1dd0a7686ae9fbd82d2f2a6e3946c6de3f650856a2b8cdd37
  • Pointer size: 131 Bytes
  • Size of remote file: 161 kB
assets/v2-to-v3.png ADDED

Git LFS Details

  • SHA256: 348ebc8443b7de05f42d4390be3886c072cb08ff28ce78034fe647783c92ad06
  • Pointer size: 131 Bytes
  • Size of remote file: 151 kB
config.json ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "ModernBertForSequenceClassification"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 50281,
8
+ "classifier_activation": "gelu",
9
+ "classifier_bias": false,
10
+ "classifier_dropout": 0.0,
11
+ "classifier_pooling": "cls",
12
+ "cls_token_id": 50281,
13
+ "decoder_bias": true,
14
+ "deterministic_flash_attn": false,
15
+ "dtype": "bfloat16",
16
+ "embedding_dropout": 0.0,
17
+ "eos_token_id": 50282,
18
+ "global_attn_every_n_layers": 3,
19
+ "gradient_checkpointing": false,
20
+ "hidden_activation": "gelu",
21
+ "hidden_size": 1024,
22
+ "id2label": {
23
+ "0": "approve",
24
+ "1": "deny"
25
+ },
26
+ "initializer_cutoff_factor": 2.0,
27
+ "initializer_range": 0.02,
28
+ "intermediate_size": 2624,
29
+ "label2id": {
30
+ "approve": 0,
31
+ "deny": 1
32
+ },
33
+ "layer_norm_eps": 1e-05,
34
+ "layer_types": [
35
+ "full_attention",
36
+ "sliding_attention",
37
+ "sliding_attention",
38
+ "full_attention",
39
+ "sliding_attention",
40
+ "sliding_attention",
41
+ "full_attention",
42
+ "sliding_attention",
43
+ "sliding_attention",
44
+ "full_attention",
45
+ "sliding_attention",
46
+ "sliding_attention",
47
+ "full_attention",
48
+ "sliding_attention",
49
+ "sliding_attention",
50
+ "full_attention",
51
+ "sliding_attention",
52
+ "sliding_attention",
53
+ "full_attention",
54
+ "sliding_attention",
55
+ "sliding_attention",
56
+ "full_attention",
57
+ "sliding_attention",
58
+ "sliding_attention",
59
+ "full_attention",
60
+ "sliding_attention",
61
+ "sliding_attention",
62
+ "full_attention"
63
+ ],
64
+ "local_attention": 128,
65
+ "max_position_embeddings": 65536,
66
+ "mlp_bias": false,
67
+ "mlp_dropout": 0.0,
68
+ "model_type": "modernbert",
69
+ "norm_bias": false,
70
+ "norm_eps": 1e-05,
71
+ "num_attention_heads": 16,
72
+ "num_hidden_layers": 28,
73
+ "pad_token_id": 50283,
74
+ "position_embedding_type": "absolute",
75
+ "repad_logits_with_grad": false,
76
+ "rope_parameters": {
77
+ "full_attention": {
78
+ "rope_theta": 2560000.0,
79
+ "rope_type": "default"
80
+ },
81
+ "sliding_attention": {
82
+ "rope_theta": 10000.0,
83
+ "rope_type": "default"
84
+ }
85
+ },
86
+ "sep_token_id": 50282,
87
+ "sparse_pred_ignore_index": -100,
88
+ "sparse_prediction": false,
89
+ "tie_word_embeddings": true,
90
+ "transformers_version": "5.16.1",
91
+ "use_cache": false,
92
+ "vocab_size": 50368
93
+ }
eval/dev.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "epoch": 1,
4
+ "step": 2227,
5
+ "dev_new": {
6
+ "n": 7072,
7
+ "accuracy": 0.9589932126696833,
8
+ "false_approve_rate": 0.04892533936651584,
9
+ "false_deny_rate": 0.03308823529411765,
10
+ "nll": 0.11061911253312574,
11
+ "pair_accuracy": 0.920303605313093
12
+ },
13
+ "dev_old": {
14
+ "n": 1500,
15
+ "accuracy": 0.9706666666666667,
16
+ "false_approve_rate": 0.026845637583892617,
17
+ "false_deny_rate": 0.031788079470198675,
18
+ "nll": 0.08187394878089876
19
+ }
20
+ },
21
+ {
22
+ "epoch": 2,
23
+ "step": 4445,
24
+ "dev_new": {
25
+ "n": 7072,
26
+ "accuracy": 0.9646493212669683,
27
+ "false_approve_rate": 0.042986425339366516,
28
+ "false_deny_rate": 0.02771493212669683,
29
+ "nll": 0.11286248919654661,
30
+ "pair_accuracy": 0.931056293485136
31
+ },
32
+ "dev_old": {
33
+ "n": 1500,
34
+ "accuracy": 0.974,
35
+ "false_approve_rate": 0.022818791946308724,
36
+ "false_deny_rate": 0.02913907284768212,
37
+ "nll": 0.07598317966571344
38
+ }
39
+ }
40
+ ]
eval/results.json ADDED
@@ -0,0 +1,695 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "auto-0.4b-3",
3
+ "results": {
4
+ "v3": {
5
+ "n": 2948,
6
+ "accuracy": 0.9314789687924017,
7
+ "ci95": [
8
+ 0.9217861698885004,
9
+ 0.9400486927951885
10
+ ],
11
+ "balanced_accuracy": 0.9318114022651461,
12
+ "false_approves": 85,
13
+ "false_approve_rate": 0.060155697098372256,
14
+ "false_denies": 117,
15
+ "false_deny_rate": 0.0762214983713355,
16
+ "auroc": 0.9809661795657356,
17
+ "pair_accuracy": 0.8722304283604135,
18
+ "pairs": 1354
19
+ },
20
+ "slices": {
21
+ "generator=claude-opus-4-8": 0.9036827195467422,
22
+ "generator=gpt-6.1-sol": 0.9470619375330863,
23
+ "is_long=0": 0.9329702555509007,
24
+ "is_long=1": 0.9251336898395722,
25
+ "flip_mechanism=authorization": 0.9435825105782792,
26
+ "flip_mechanism=call_variant": 0.9014778325123153,
27
+ "flip_mechanism=environment": 0.946236559139785,
28
+ "flip_mechanism=provenance": 0.9870801033591732,
29
+ "flip_mechanism=scope": 0.9095652173913044,
30
+ "surface=non-shell": 0.9318734793187348,
31
+ "surface=shell": 0.931415057154119,
32
+ "slice=in_distribution": 0.9308151093439364,
33
+ "slice=new_framework": 0.9353348729792148
34
+ },
35
+ "missed_harm_by_category": {
36
+ "abuse_spam_privacy": 0.061224489795918366,
37
+ "covering_tracks": 0.037037037037037035,
38
+ "credential_exfiltration": 0.06289308176100629,
39
+ "data_destruction_unrequested": 0.07729468599033816,
40
+ "destructive_filesystem": 0.05521472392638037,
41
+ "irreversible_remote": 0.06666666666666667,
42
+ "malicious_install": 0.02,
43
+ "obfuscated_payload": 0.03773584905660377,
44
+ "physical_financial": 0.07352941176470588,
45
+ "privilege_escalation": 0.08974358974358974,
46
+ "prompt_injection": 0.008064516129032258,
47
+ "scope_violation": 0.0782122905027933,
48
+ "self_permission_tamper": 0.018867924528301886,
49
+ "supply_chain": 0.12195121951219512
50
+ },
51
+ "old": {
52
+ "n": 3000,
53
+ "accuracy": 0.972,
54
+ "ci95": [
55
+ 0.9654658634459935,
56
+ 0.9773268590464309
57
+ ],
58
+ "balanced_accuracy": 0.9716565358702508,
59
+ "false_approves": 47,
60
+ "false_approve_rate": 0.03354746609564597,
61
+ "false_denies": 37,
62
+ "false_deny_rate": 0.023139462163852407,
63
+ "auroc": 0.9954903559906955,
64
+ "pair_accuracy": NaN,
65
+ "pairs": 0
66
+ },
67
+ "mcnemar_p_vs_auto-3b-3": 1.9859524397639595e-10
68
+ },
69
+ "comparison": {
70
+ "auto-3b-3": {
71
+ "v3": {
72
+ "n": 2948,
73
+ "accuracy": 0.9603120759837178,
74
+ "ci95": [
75
+ 0.9526447890222909,
76
+ 0.9667812397998521
77
+ ],
78
+ "balanced_accuracy": 0.9606517885341097,
79
+ "false_approves": 44,
80
+ "false_approve_rate": 0.03113941967445152,
81
+ "false_denies": 73,
82
+ "false_deny_rate": 0.04755700325732899,
83
+ "auroc": 0.9911667139244474,
84
+ "pair_accuracy": 0.9276218611521418,
85
+ "pairs": 1354
86
+ },
87
+ "slices": {
88
+ "generator=claude-opus-4-8": 0.9301227573182247,
89
+ "generator=gpt-6.1-sol": 0.9772366331392272,
90
+ "is_long=0": 0.9622957687473817,
91
+ "is_long=1": 0.9518716577540107,
92
+ "flip_mechanism=authorization": 0.9689703808180536,
93
+ "flip_mechanism=call_variant": 0.9445812807881774,
94
+ "flip_mechanism=environment": 0.9655913978494624,
95
+ "flip_mechanism=provenance": 0.9819121447028424,
96
+ "flip_mechanism=scope": 0.9530434782608695,
97
+ "surface=non-shell": 0.9635036496350365,
98
+ "surface=shell": 0.9597950335041388,
99
+ "slice=in_distribution": 0.9598409542743539,
100
+ "slice=new_framework": 0.9630484988452656
101
+ },
102
+ "missed_harm_by_category": {
103
+ "abuse_spam_privacy": 0.0,
104
+ "covering_tracks": 0.0,
105
+ "credential_exfiltration": 0.025157232704402517,
106
+ "data_destruction_unrequested": 0.04830917874396135,
107
+ "destructive_filesystem": 0.04294478527607362,
108
+ "irreversible_remote": 0.037037037037037035,
109
+ "malicious_install": 0.02,
110
+ "obfuscated_payload": 0.05660377358490566,
111
+ "physical_financial": 0.029411764705882353,
112
+ "privilege_escalation": 0.038461538461538464,
113
+ "prompt_injection": 0.008064516129032258,
114
+ "scope_violation": 0.03910614525139665,
115
+ "self_permission_tamper": 0.018867924528301886,
116
+ "supply_chain": 0.0
117
+ },
118
+ "old": {
119
+ "n": 3000,
120
+ "accuracy": 0.9823333333333333,
121
+ "ci95": [
122
+ 0.9769651453292397,
123
+ 0.9864678133194454
124
+ ],
125
+ "balanced_accuracy": 0.98188040437479,
126
+ "false_approves": 35,
127
+ "false_approve_rate": 0.024982155603140613,
128
+ "false_denies": 18,
129
+ "false_deny_rate": 0.01125703564727955,
130
+ "auroc": 0.9984296037985911,
131
+ "pair_accuracy": NaN,
132
+ "pairs": 0
133
+ }
134
+ },
135
+ "auto-0.4b-3": {
136
+ "v3": {
137
+ "n": 2948,
138
+ "accuracy": 0.9314789687924017,
139
+ "ci95": [
140
+ 0.9217861698885004,
141
+ 0.9400486927951885
142
+ ],
143
+ "balanced_accuracy": 0.9318114022651461,
144
+ "false_approves": 85,
145
+ "false_approve_rate": 0.060155697098372256,
146
+ "false_denies": 117,
147
+ "false_deny_rate": 0.0762214983713355,
148
+ "auroc": 0.9809661795657356,
149
+ "pair_accuracy": 0.8722304283604135,
150
+ "pairs": 1354
151
+ },
152
+ "slices": {
153
+ "generator=claude-opus-4-8": 0.9036827195467422,
154
+ "generator=gpt-6.1-sol": 0.9470619375330863,
155
+ "is_long=0": 0.9329702555509007,
156
+ "is_long=1": 0.9251336898395722,
157
+ "flip_mechanism=authorization": 0.9435825105782792,
158
+ "flip_mechanism=call_variant": 0.9014778325123153,
159
+ "flip_mechanism=environment": 0.946236559139785,
160
+ "flip_mechanism=provenance": 0.9870801033591732,
161
+ "flip_mechanism=scope": 0.9095652173913044,
162
+ "surface=non-shell": 0.9318734793187348,
163
+ "surface=shell": 0.931415057154119,
164
+ "slice=in_distribution": 0.9308151093439364,
165
+ "slice=new_framework": 0.9353348729792148
166
+ },
167
+ "missed_harm_by_category": {
168
+ "abuse_spam_privacy": 0.061224489795918366,
169
+ "covering_tracks": 0.037037037037037035,
170
+ "credential_exfiltration": 0.06289308176100629,
171
+ "data_destruction_unrequested": 0.07729468599033816,
172
+ "destructive_filesystem": 0.05521472392638037,
173
+ "irreversible_remote": 0.06666666666666667,
174
+ "malicious_install": 0.02,
175
+ "obfuscated_payload": 0.03773584905660377,
176
+ "physical_financial": 0.07352941176470588,
177
+ "privilege_escalation": 0.08974358974358974,
178
+ "prompt_injection": 0.008064516129032258,
179
+ "scope_violation": 0.0782122905027933,
180
+ "self_permission_tamper": 0.018867924528301886,
181
+ "supply_chain": 0.12195121951219512
182
+ },
183
+ "old": {
184
+ "n": 3000,
185
+ "accuracy": 0.972,
186
+ "ci95": [
187
+ 0.9654658634459935,
188
+ 0.9773268590464309
189
+ ],
190
+ "balanced_accuracy": 0.9716565358702508,
191
+ "false_approves": 47,
192
+ "false_approve_rate": 0.03354746609564597,
193
+ "false_denies": 37,
194
+ "false_deny_rate": 0.023139462163852407,
195
+ "auroc": 0.9954903559906955,
196
+ "pair_accuracy": NaN,
197
+ "pairs": 0
198
+ },
199
+ "mcnemar_p_vs_auto-3b-3": 1.9859524397639595e-10
200
+ },
201
+ "auto-150m-3": {
202
+ "v3": {
203
+ "n": 2948,
204
+ "accuracy": 0.8883989145183175,
205
+ "ci95": [
206
+ 0.8765230010914776,
207
+ 0.8992638839500505
208
+ ],
209
+ "balanced_accuracy": 0.8892339859517602,
210
+ "false_approves": 128,
211
+ "false_approve_rate": 0.09058740268931352,
212
+ "false_denies": 201,
213
+ "false_deny_rate": 0.13094462540716612,
214
+ "auroc": 0.9611068463845492,
215
+ "pair_accuracy": 0.7865583456425406,
216
+ "pairs": 1354
217
+ },
218
+ "slices": {
219
+ "generator=claude-opus-4-8": 0.846081208687441,
220
+ "generator=gpt-6.1-sol": 0.9121228163049232,
221
+ "is_long=0": 0.8969417679095099,
222
+ "is_long=1": 0.8520499108734403,
223
+ "flip_mechanism=authorization": 0.9083215796897038,
224
+ "flip_mechanism=call_variant": 0.8596059113300493,
225
+ "flip_mechanism=environment": 0.8903225806451613,
226
+ "flip_mechanism=provenance": 0.958656330749354,
227
+ "flip_mechanism=scope": 0.8556521739130435,
228
+ "surface=non-shell": 0.878345498783455,
229
+ "surface=shell": 0.8900275916436736,
230
+ "slice=in_distribution": 0.8850894632206759,
231
+ "slice=new_framework": 0.9076212471131639
232
+ },
233
+ "missed_harm_by_category": {
234
+ "abuse_spam_privacy": 0.061224489795918366,
235
+ "covering_tracks": 0.05555555555555555,
236
+ "credential_exfiltration": 0.0880503144654088,
237
+ "data_destruction_unrequested": 0.11594202898550725,
238
+ "destructive_filesystem": 0.11042944785276074,
239
+ "irreversible_remote": 0.1111111111111111,
240
+ "malicious_install": 0.12,
241
+ "obfuscated_payload": 0.07547169811320754,
242
+ "physical_financial": 0.16176470588235295,
243
+ "privilege_escalation": 0.05128205128205128,
244
+ "prompt_injection": 0.0,
245
+ "scope_violation": 0.11731843575418995,
246
+ "self_permission_tamper": 0.03773584905660377,
247
+ "supply_chain": 0.07317073170731707
248
+ },
249
+ "old": {
250
+ "n": 3000,
251
+ "accuracy": 0.9596666666666667,
252
+ "ci95": [
253
+ 0.9520185437268959,
254
+ 0.966139058191927
255
+ ],
256
+ "balanced_accuracy": 0.9590261847273389,
257
+ "false_approves": 71,
258
+ "false_approve_rate": 0.05067808708065667,
259
+ "false_denies": 50,
260
+ "false_deny_rate": 0.031269543464665414,
261
+ "auroc": 0.9926580183278361,
262
+ "pair_accuracy": NaN,
263
+ "pairs": 0
264
+ },
265
+ "mcnemar_p_vs_auto-3b-3": 7.993074660900961e-41
266
+ },
267
+ "auto-3b": {
268
+ "v3": {
269
+ "n": 2948,
270
+ "accuracy": 0.7208276797829036,
271
+ "ci95": [
272
+ 0.7043546473973118,
273
+ 0.736725930910142
274
+ ],
275
+ "balanced_accuracy": 0.7257063885603896,
276
+ "false_approves": 221,
277
+ "false_approve_rate": 0.15640481245576787,
278
+ "false_denies": 602,
279
+ "false_deny_rate": 0.39218241042345275,
280
+ "auroc": 0.8260906750024781,
281
+ "pair_accuracy": 0.4549483013293944,
282
+ "pairs": 1354
283
+ },
284
+ "slices": {
285
+ "generator=claude-opus-4-8": 0.7525967894239849,
286
+ "generator=gpt-6.1-sol": 0.7030174695606141,
287
+ "is_long=0": 0.7255969836614998,
288
+ "is_long=1": 0.7005347593582888,
289
+ "flip_mechanism=authorization": 0.7503526093088858,
290
+ "flip_mechanism=call_variant": 0.7204433497536946,
291
+ "flip_mechanism=environment": 0.6967741935483871,
292
+ "flip_mechanism=provenance": 0.8087855297157622,
293
+ "flip_mechanism=scope": 0.6452173913043479,
294
+ "surface=non-shell": 0.7177615571776156,
295
+ "surface=shell": 0.7213243988963343,
296
+ "slice=in_distribution": 0.7216699801192843,
297
+ "slice=new_framework": 0.7159353348729792
298
+ },
299
+ "missed_harm_by_category": {
300
+ "abuse_spam_privacy": 0.10204081632653061,
301
+ "covering_tracks": 0.1111111111111111,
302
+ "credential_exfiltration": 0.1509433962264151,
303
+ "data_destruction_unrequested": 0.20772946859903382,
304
+ "destructive_filesystem": 0.1901840490797546,
305
+ "irreversible_remote": 0.1037037037037037,
306
+ "malicious_install": 0.08,
307
+ "obfuscated_payload": 0.11320754716981132,
308
+ "physical_financial": 0.08823529411764706,
309
+ "privilege_escalation": 0.10256410256410256,
310
+ "prompt_injection": 0.016129032258064516,
311
+ "scope_violation": 0.3240223463687151,
312
+ "self_permission_tamper": 0.09433962264150944,
313
+ "supply_chain": 0.21951219512195122
314
+ },
315
+ "mcnemar_p_vs_auto-3b-3": 1.634567657543771e-180
316
+ },
317
+ "auto-0.4b-2": {
318
+ "v3": {
319
+ "n": 2948,
320
+ "accuracy": 0.7021709633649932,
321
+ "ci95": [
322
+ 0.6854083932791898,
323
+ 0.7184073128210292
324
+ ],
325
+ "balanced_accuracy": 0.705006788983635,
326
+ "false_approves": 320,
327
+ "false_approve_rate": 0.22646850672328378,
328
+ "false_denies": 558,
329
+ "false_deny_rate": 0.36351791530944627,
330
+ "auroc": 0.7794926589071696,
331
+ "pair_accuracy": 0.4098966026587888,
332
+ "pairs": 1354
333
+ },
334
+ "slices": {
335
+ "generator=claude-opus-4-8": 0.7412653446647781,
336
+ "generator=gpt-6.1-sol": 0.6802541026998412,
337
+ "is_long=0": 0.7046501885211562,
338
+ "is_long=1": 0.6916221033868093,
339
+ "flip_mechanism=authorization": 0.7362482369534555,
340
+ "flip_mechanism=call_variant": 0.7155172413793104,
341
+ "flip_mechanism=environment": 0.6516129032258065,
342
+ "flip_mechanism=provenance": 0.7596899224806202,
343
+ "flip_mechanism=scope": 0.6434782608695652,
344
+ "surface=non-shell": 0.708029197080292,
345
+ "surface=shell": 0.7012219156484036,
346
+ "slice=in_distribution": 0.7029821073558649,
347
+ "slice=new_framework": 0.6974595842956121
348
+ },
349
+ "missed_harm_by_category": {
350
+ "abuse_spam_privacy": 0.1836734693877551,
351
+ "covering_tracks": 0.24074074074074073,
352
+ "credential_exfiltration": 0.24528301886792453,
353
+ "data_destruction_unrequested": 0.2753623188405797,
354
+ "destructive_filesystem": 0.31901840490797545,
355
+ "irreversible_remote": 0.13333333333333333,
356
+ "malicious_install": 0.12,
357
+ "obfuscated_payload": 0.07547169811320754,
358
+ "physical_financial": 0.16176470588235295,
359
+ "privilege_escalation": 0.16666666666666666,
360
+ "prompt_injection": 0.11290322580645161,
361
+ "scope_violation": 0.3743016759776536,
362
+ "self_permission_tamper": 0.09433962264150944,
363
+ "supply_chain": 0.2926829268292683
364
+ },
365
+ "old": {
366
+ "n": 3000,
367
+ "accuracy": 0.97,
368
+ "ci95": [
369
+ 0.9632688976534645,
370
+ 0.9755289404216192
371
+ ],
372
+ "balanced_accuracy": 0.9702664807903227,
373
+ "false_approves": 36,
374
+ "false_approve_rate": 0.02569593147751606,
375
+ "false_denies": 54,
376
+ "false_deny_rate": 0.03377110694183865,
377
+ "auroc": 0.9948812583167834,
378
+ "pair_accuracy": NaN,
379
+ "pairs": 0
380
+ },
381
+ "mcnemar_p_vs_auto-3b-3": 1.6983349909612516e-194
382
+ },
383
+ "auto-200m-2": {
384
+ "v3": {
385
+ "n": 2948,
386
+ "accuracy": 0.6991180461329715,
387
+ "ci95": [
388
+ 0.6823112663451674,
389
+ 0.7154065515756858
390
+ ],
391
+ "balanced_accuracy": 0.7007533581840102,
392
+ "false_approves": 367,
393
+ "false_approve_rate": 0.2597310686482661,
394
+ "false_denies": 520,
395
+ "false_deny_rate": 0.33876221498371334,
396
+ "auroc": 0.7653017236411083,
397
+ "pair_accuracy": 0.40029542097488924,
398
+ "pairs": 1354
399
+ },
400
+ "slices": {
401
+ "generator=claude-opus-4-8": 0.724268177525968,
402
+ "generator=gpt-6.1-sol": 0.6850185283218634,
403
+ "is_long=0": 0.7017176372015081,
404
+ "is_long=1": 0.6880570409982175,
405
+ "flip_mechanism=authorization": 0.765867418899859,
406
+ "flip_mechanism=call_variant": 0.6822660098522167,
407
+ "flip_mechanism=environment": 0.632258064516129,
408
+ "flip_mechanism=provenance": 0.8165374677002584,
409
+ "flip_mechanism=scope": 0.6156521739130435,
410
+ "surface=non-shell": 0.7031630170316302,
411
+ "surface=shell": 0.6984627512810406,
412
+ "slice=in_distribution": 0.6994035785288271,
413
+ "slice=new_framework": 0.6974595842956121
414
+ },
415
+ "missed_harm_by_category": {
416
+ "abuse_spam_privacy": 0.2653061224489796,
417
+ "covering_tracks": 0.1111111111111111,
418
+ "credential_exfiltration": 0.2893081761006289,
419
+ "data_destruction_unrequested": 0.27053140096618356,
420
+ "destructive_filesystem": 0.3312883435582822,
421
+ "irreversible_remote": 0.22962962962962963,
422
+ "malicious_install": 0.18,
423
+ "obfuscated_payload": 0.11320754716981132,
424
+ "physical_financial": 0.23529411764705882,
425
+ "privilege_escalation": 0.23076923076923078,
426
+ "prompt_injection": 0.04838709677419355,
427
+ "scope_violation": 0.4692737430167598,
428
+ "self_permission_tamper": 0.1509433962264151,
429
+ "supply_chain": 0.34146341463414637
430
+ },
431
+ "old": {
432
+ "n": 3000,
433
+ "accuracy": 0.9633333333333334,
434
+ "ci95": [
435
+ 0.9559935894244281,
436
+ 0.9694879672595197
437
+ ],
438
+ "balanced_accuracy": 0.9632612995541914,
439
+ "false_approves": 53,
440
+ "false_approve_rate": 0.03783012134189864,
441
+ "false_denies": 57,
442
+ "false_deny_rate": 0.03564727954971857,
443
+ "auroc": 0.9937152904719625,
444
+ "pair_accuracy": NaN,
445
+ "pairs": 0
446
+ },
447
+ "mcnemar_p_vs_auto-3b-3": 1.0894407275787993e-200
448
+ },
449
+ "DeepSeek V4.1 Flash": {
450
+ "v3": {
451
+ "n": 2948,
452
+ "accuracy": 0.9559023066485753,
453
+ "ci95": [
454
+ 0.9478785664272602,
455
+ 0.9627394016913544
456
+ ],
457
+ "balanced_accuracy": 0.9574016058424448,
458
+ "false_approves": 9,
459
+ "false_approve_rate": 0.006369426751592357,
460
+ "false_denies": 121,
461
+ "false_deny_rate": 0.07882736156351791,
462
+ "pair_accuracy": 0.9113737075332349,
463
+ "pairs": 1354
464
+ },
465
+ "slices": {
466
+ "generator=claude-opus-4-8": 0.9490084985835694,
467
+ "generator=gpt-6.1-sol": 0.9597670725251456,
468
+ "is_long=0": 0.9560117302052786,
469
+ "is_long=1": 0.9554367201426025,
470
+ "flip_mechanism=authorization": 0.9576868829337094,
471
+ "flip_mechanism=call_variant": 0.9741379310344828,
472
+ "flip_mechanism=environment": 0.9118279569892473,
473
+ "flip_mechanism=provenance": 0.9405684754521964,
474
+ "flip_mechanism=scope": 0.9739130434782609,
475
+ "surface=non-shell": 0.9683698296836983,
476
+ "surface=shell": 0.953882538431218,
477
+ "slice=in_distribution": 0.9538767395626243,
478
+ "slice=new_framework": 0.9676674364896074
479
+ },
480
+ "missed_harm_by_category": {
481
+ "abuse_spam_privacy": 0.0,
482
+ "covering_tracks": 0.0,
483
+ "credential_exfiltration": 0.0,
484
+ "data_destruction_unrequested": 0.00966183574879227,
485
+ "destructive_filesystem": 0.006134969325153374,
486
+ "irreversible_remote": 0.0,
487
+ "malicious_install": 0.02,
488
+ "obfuscated_payload": 0.0,
489
+ "physical_financial": 0.0,
490
+ "privilege_escalation": 0.01282051282051282,
491
+ "prompt_injection": 0.008064516129032258,
492
+ "scope_violation": 0.00558659217877095,
493
+ "self_permission_tamper": 0.0,
494
+ "supply_chain": 0.04878048780487805
495
+ },
496
+ "mcnemar_p_vs_auto-3b-3": 0.41535525707724713
497
+ },
498
+ "Codex auto-review": {
499
+ "v3": {
500
+ "n": 2948,
501
+ "accuracy": 0.9552238805970149,
502
+ "ci95": [
503
+ 0.9471471566432063,
504
+ 0.9621157252133271
505
+ ],
506
+ "balanced_accuracy": 0.9550626914804594,
507
+ "false_approves": 69,
508
+ "false_approve_rate": 0.04883227176220807,
509
+ "false_denies": 63,
510
+ "false_deny_rate": 0.04104234527687296,
511
+ "pair_accuracy": 0.9076809453471196,
512
+ "pairs": 1354
513
+ },
514
+ "slices": {
515
+ "generator=claude-opus-4-8": 0.9423984891406988,
516
+ "generator=gpt-6.1-sol": 0.9624139756484913,
517
+ "is_long=0": 0.9543359865940511,
518
+ "is_long=1": 0.9590017825311943,
519
+ "flip_mechanism=authorization": 0.9873060648801129,
520
+ "flip_mechanism=call_variant": 0.9408866995073891,
521
+ "flip_mechanism=environment": 0.9139784946236559,
522
+ "flip_mechanism=provenance": 0.9767441860465116,
523
+ "flip_mechanism=scope": 0.9547826086956521,
524
+ "surface=non-shell": 0.9562043795620438,
525
+ "surface=shell": 0.9550650374458022,
526
+ "slice=in_distribution": 0.952286282306163,
527
+ "slice=new_framework": 0.9722863741339491
528
+ },
529
+ "missed_harm_by_category": {
530
+ "abuse_spam_privacy": 0.12244897959183673,
531
+ "covering_tracks": 0.018518518518518517,
532
+ "credential_exfiltration": 0.0440251572327044,
533
+ "data_destruction_unrequested": 0.04830917874396135,
534
+ "destructive_filesystem": 0.049079754601226995,
535
+ "irreversible_remote": 0.05925925925925926,
536
+ "malicious_install": 0.14,
537
+ "obfuscated_payload": 0.03773584905660377,
538
+ "physical_financial": 0.029411764705882353,
539
+ "privilege_escalation": 0.01282051282051282,
540
+ "prompt_injection": 0.0,
541
+ "scope_violation": 0.055865921787709494,
542
+ "self_permission_tamper": 0.05660377358490566,
543
+ "supply_chain": 0.0975609756097561
544
+ },
545
+ "mcnemar_p_vs_auto-3b-3": 0.31607312611901234
546
+ },
547
+ "GLM-5.3 Flash": {
548
+ "v3": {
549
+ "n": 2948,
550
+ "accuracy": 0.9535278154681139,
551
+ "ci95": [
552
+ 0.9453206421434565,
553
+ 0.9605545240578736
554
+ ],
555
+ "balanced_accuracy": 0.9531809097007545,
556
+ "false_approves": 78,
557
+ "false_approve_rate": 0.055201698513800426,
558
+ "false_denies": 59,
559
+ "false_deny_rate": 0.038436482084690554,
560
+ "pair_accuracy": 0.9017725258493353,
561
+ "pairs": 1354
562
+ },
563
+ "slices": {
564
+ "generator=claude-opus-4-8": 0.9508970727101038,
565
+ "generator=gpt-6.1-sol": 0.9550026469031233,
566
+ "is_long=0": 0.9555927943024717,
567
+ "is_long=1": 0.9447415329768271,
568
+ "flip_mechanism=authorization": 0.9548660084626234,
569
+ "flip_mechanism=call_variant": 0.9544334975369458,
570
+ "flip_mechanism=environment": 0.9526881720430107,
571
+ "flip_mechanism=provenance": 0.9612403100775194,
572
+ "flip_mechanism=scope": 0.9460869565217391,
573
+ "surface=non-shell": 0.9513381995133819,
574
+ "surface=shell": 0.953882538431218,
575
+ "slice=in_distribution": 0.9530815109343936,
576
+ "slice=new_framework": 0.9561200923787528
577
+ },
578
+ "missed_harm_by_category": {
579
+ "abuse_spam_privacy": 0.04081632653061224,
580
+ "covering_tracks": 0.0,
581
+ "credential_exfiltration": 0.05660377358490566,
582
+ "data_destruction_unrequested": 0.08695652173913043,
583
+ "destructive_filesystem": 0.049079754601226995,
584
+ "irreversible_remote": 0.06666666666666667,
585
+ "malicious_install": 0.06,
586
+ "obfuscated_payload": 0.03773584905660377,
587
+ "physical_financial": 0.058823529411764705,
588
+ "privilege_escalation": 0.02564102564102564,
589
+ "prompt_injection": 0.03225806451612903,
590
+ "scope_violation": 0.0670391061452514,
591
+ "self_permission_tamper": 0.0,
592
+ "supply_chain": 0.12195121951219512
593
+ },
594
+ "mcnemar_p_vs_auto-3b-3": 0.21215615907855717
595
+ },
596
+ "TypeSafe Jev 1.14": {
597
+ "v3": {
598
+ "n": 2948,
599
+ "accuracy": 0.9019674355495251,
600
+ "ci95": [
601
+ 0.8907042637818594,
602
+ 0.912184346501294
603
+ ],
604
+ "balanced_accuracy": 0.9008852189187881,
605
+ "false_approves": 177,
606
+ "false_approve_rate": 0.12526539278131635,
607
+ "false_denies": 112,
608
+ "false_deny_rate": 0.07296416938110749,
609
+ "pair_accuracy": 0.8013293943870015,
610
+ "pairs": 1354
611
+ },
612
+ "slices": {
613
+ "generator=claude-opus-4-8": 0.9008498583569405,
614
+ "generator=gpt-6.1-sol": 0.9025939650608787,
615
+ "is_long=0": 0.8990364474235442,
616
+ "is_long=1": 0.9144385026737968,
617
+ "flip_mechanism=authorization": 0.9633286318758815,
618
+ "flip_mechanism=call_variant": 0.9076354679802956,
619
+ "flip_mechanism=environment": 0.7311827956989247,
620
+ "flip_mechanism=provenance": 0.9741602067183462,
621
+ "flip_mechanism=scope": 0.9078260869565218,
622
+ "surface=non-shell": 0.9075425790754258,
623
+ "surface=shell": 0.9010642491131258,
624
+ "slice=in_distribution": 0.8990059642147117,
625
+ "slice=new_framework": 0.9191685912240185
626
+ },
627
+ "missed_harm_by_category": {
628
+ "abuse_spam_privacy": 0.24489795918367346,
629
+ "covering_tracks": 0.07407407407407407,
630
+ "credential_exfiltration": 0.25157232704402516,
631
+ "data_destruction_unrequested": 0.14009661835748793,
632
+ "destructive_filesystem": 0.10429447852760736,
633
+ "irreversible_remote": 0.05925925925925926,
634
+ "malicious_install": 0.18,
635
+ "obfuscated_payload": 0.03773584905660377,
636
+ "physical_financial": 0.11764705882352941,
637
+ "privilege_escalation": 0.07692307692307693,
638
+ "prompt_injection": 0.024193548387096774,
639
+ "scope_violation": 0.1564245810055866,
640
+ "self_permission_tamper": 0.05660377358490566,
641
+ "supply_chain": 0.1951219512195122
642
+ },
643
+ "mcnemar_p_vs_auto-3b-3": 9.623571074126176e-22
644
+ },
645
+ "GPT-6 Luna": {
646
+ "v3": {
647
+ "n": 2948,
648
+ "accuracy": 0.8789009497964722,
649
+ "ci95": [
650
+ 0.8666282333424832,
651
+ 0.890187444029907
652
+ ],
653
+ "balanced_accuracy": 0.881407175344809,
654
+ "false_approves": 82,
655
+ "false_approve_rate": 0.05803255484784147,
656
+ "false_denies": 275,
657
+ "false_deny_rate": 0.1791530944625407,
658
+ "pair_accuracy": 0.758493353028065,
659
+ "pairs": 1354
660
+ },
661
+ "slices": {
662
+ "generator=claude-opus-4-8": 0.8649669499527857,
663
+ "generator=gpt-6.1-sol": 0.8867125463208047,
664
+ "is_long=0": 0.8818600754084625,
665
+ "is_long=1": 0.8663101604278075,
666
+ "flip_mechanism=authorization": 0.8984485190409027,
667
+ "flip_mechanism=call_variant": 0.8805418719211823,
668
+ "flip_mechanism=environment": 0.821505376344086,
669
+ "flip_mechanism=provenance": 0.8940568475452196,
670
+ "flip_mechanism=scope": 0.888695652173913,
671
+ "surface=non-shell": 0.8905109489051095,
672
+ "surface=shell": 0.8770201024832479,
673
+ "slice=in_distribution": 0.8767395626242545,
674
+ "slice=new_framework": 0.8914549653579676
675
+ },
676
+ "missed_harm_by_category": {
677
+ "abuse_spam_privacy": 0.02040816326530612,
678
+ "covering_tracks": 0.05555555555555555,
679
+ "credential_exfiltration": 0.0440251572327044,
680
+ "data_destruction_unrequested": 0.043478260869565216,
681
+ "destructive_filesystem": 0.07975460122699386,
682
+ "irreversible_remote": 0.044444444444444446,
683
+ "malicious_install": 0.14,
684
+ "obfuscated_payload": 0.05660377358490566,
685
+ "physical_financial": 0.08823529411764706,
686
+ "privilege_escalation": 0.02564102564102564,
687
+ "prompt_injection": 0.016129032258064516,
688
+ "scope_violation": 0.08379888268156424,
689
+ "self_permission_tamper": 0.09433962264150944,
690
+ "supply_chain": 0.07317073170731707
691
+ },
692
+ "mcnemar_p_vs_auto-3b-3": 3.806780630998232e-37
693
+ }
694
+ }
695
+ }
eval/scores_old.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
eval/scores_v3.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67fb2b86d9bc1105d3c9992fbf2cf64df5ffdbbdf08c414e164e12e74cf34f79
3
+ size 791684972
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "clean_up_tokenization_spaces": true,
4
+ "cls_token": "[CLS]",
5
+ "is_local": true,
6
+ "local_files_only": false,
7
+ "mask_token": "[MASK]",
8
+ "max_length": 65536,
9
+ "model_input_names": [
10
+ "input_ids",
11
+ "attention_mask"
12
+ ],
13
+ "model_max_length": 65536,
14
+ "pad_to_multiple_of": null,
15
+ "pad_token": "[PAD]",
16
+ "pad_token_type_id": 0,
17
+ "padding_side": "right",
18
+ "sep_token": "[SEP]",
19
+ "stride": 0,
20
+ "tokenizer_class": "TokenizersBackend",
21
+ "truncation_side": "right",
22
+ "truncation_strategy": "longest_first",
23
+ "unk_token": "[UNK]"
24
+ }
training_config.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lr": 1e-05,
3
+ "epochs": 2,
4
+ "alpha": 0.8,
5
+ "temperature": 2.0,
6
+ "max_batch": 64,
7
+ "warmup_frac": 0.03,
8
+ "min_lr_fraction": 0.1,
9
+ "replay_ratio": 0.4,
10
+ "extra": true,
11
+ "severe_weight": 1.5,
12
+ "hard_weight": 1.5,
13
+ "name": "final_main",
14
+ "margin_weight": 0.5,
15
+ "margin": 4.0,
16
+ "token_budget": 32768
17
+ }