TinyGuard-Command / README.md
QuanxinLi's picture
Commit TinyGuard-Command
7bd7b42 verified
|
Raw History Blame Contribute Delete
2.61 kB
---
license: apache-2.0
language:
- zh
- en
tags:
- safety
- guardrail
- agents
- command-line
- text-classification
- mlx
metrics:
- f1
- accuracy
---
# TinyGuard-Command (base + fine-tuned)
**Bilingual AI-agent command-risk classifier trained completely from scratch** · 9.1M parameters · MLX/Metal · Apache-2.0 (code) · fully synthetic training data
[中文说明](MODEL_CARD-commands.zh.md)
## Model description
TinyGuard-Command is a pre-execution guardrail for AI coding agents: input (task context, shell/PowerShell command), 3-way output `safe / confirm / deny`. Unlike regex rules it is **context-aware** and robust to encoding/rewrite evasion.
- Backbone: TinyGuard-Encoder (ModernBERT-style, 6 layers · hidden 256 · 16k byte-level BPE · seq 512), pretrained from scratch for 8,000 steps / 131M tokens (fineweb-edu + wikipedia zh/en). No pretrained weights used anywhere.
- Fine-tune: 12,399 synthetic+hand-written bilingual labeled examples (near-miss pairs, context-decisive cases, regex-evasion rewrites, anti-overrefusal samples), 3 epochs.
## Results (held-out data only, never seen in training)
| Benchmark | Metric | TinyGuard | Regex baseline |
|---|---|---|---|
| Golden seed set, 38 rows (isolated) | intervention recall / precision / F1 | **100% / 96% / 0.98** | 50% / 100% / 0.67 |
| Adversarial set, 48 rows (base64 / variable indirection / pipe obfuscation / subshell / encoded execution) | intervention recall / precision / F1 | **94% / 85% / 0.89** | 26% / 89% / 0.40 |
| Validation set, 619 rows | acc / macro-F1 | 93.2% / 0.927 | — |
False-positive behavior: safe samples are "confirmed" rather than "denied" (conservative bias). Single inference is millisecond-scale on Apple Silicon.
## Usage
Weights: [`QuanxinLi/TinyGuard-Command`](https://huggingface.co/QuanxinLi/TinyGuard-Command) ·
Code & training pipeline: [`Quanxin-Lee/TinyGuard`](https://github.com/Quanxin-Lee/TinyGuard)
```python
# quickstart (transformers/MLX dual format) — see the GitHub repo for the full walkthrough
```
## Limitations
- Training data is synthetic/hand-written; long-tail real-world enterprise commands are underrepresented.
- 2/48 misses remain on the adversarial set (content-dependent cases like `sh -c $(cat file)`) and 5/48 false interventions.
- deny/confirm boundaries (test-db DROP vs prod-db DROP) depend on context quality.
## Training details & data statement
All data is synthetic/hand-written — no real user data. The full training pipeline, four audit scripts (three deep-scan rounds) and every dataset ship with the repository.