Evaluates a model's ability to maintain safety alignment and task performance during sequential continual fine-tuning across multiple domains. It probes whether gradient-based sample selection prevents safety degradation (elastic reversion) and catastrophic forgetting while preserving general capabilities. Use when the user wants to benchmark on AdvBench, HarmBench, TruthfulQA, ARC-C, BoolQ, HellaSwag, Winogrande, GSM8K, MedMCQA, Squad_v2, or asks about evaluating this task. Reports ASR.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill continual-safety-alignment-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Continual Safety Alignment Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-continual-safety-alignment-eval)More formats (shields.io, HTML) on the badges page.
---
name: continual-safety-alignment-eval
description: Evaluates a model's ability to maintain safety alignment and task performance during sequential continual fine-tuning across multiple domains. It probes whether gradient-based sample selection prevents safety degradation (elastic reversion) and catastrophic forgetting while preserving general capabilities. Use when the user wants to benchmark on AdvBench, HarmBench, TruthfulQA, ARC-C, BoolQ, HellaSwag, Winogrande, GSM8K, MedMCQA, Squad_v2, or asks about evaluating this task. Reports ASR.
metadata:
skill_kind: dataset_eval
source_arxiv: 2604.17215
bibtex_key: bach2026continual
confidence: high
---
# continual-safety-alignment-eval
> Continual Safety Alignment via Gradient-Based Sample Selection — Thong Bach et al. (2026) (arXiv:2604.17215, 2026)
## What this evaluates
Evaluates a model's ability to maintain safety alignment and task performance during sequential continual fine-tuning across multiple domains. It probes whether gradient-based sample selection prevents safety degradation (elastic reversion) and catastrophic forgetting while preserving general capabilities.
## Datasets
- **AdvBench** — total ?; splits: test (-1)
- **HarmBench** — total ?; splits: test (-1)
- **TruthfulQA** — total ?; splits: test (-1)
- **ARC-C** — total ?; splits: test (-1)
- **BoolQ** — total ?; splits: test (-1)
- **HellaSwag** — total ?; splits: test (-1)
- **Winogrande** — total ?; splits: test (-1)
- **GSM8K** — total ?; splits: test (-1)
- **MedMCQA** — total ?; splits: test (-1)
- **Squad_v2** — total ?; splits: test (-1)
## Metrics
- `ASR` **(primary)** — range: percent
- Attack Success Rate: the fraction of adversarial prompts (from AdvBench or HarmBench) that the model successfully answers or complies with. Lower values indicate better safety preservation.
- `TruthfulQA` — range: percent
- Accuracy on the TruthfulQA benchmark, measuring factual correctness and resistance to mimicking human falsehoods.
- `BWT` — range: percent
- Backward Transfer: measures how learning a new task affects performance on previous tasks. Calculated as the difference between final performance on old tasks and their peak performance.
- `FM` — range: percent
- Forgetting Measure: quantifies the gap between a task's peak accuracy and its final accuracy after subsequent training.
- `Max Drop` — range: percent
- The worst single-step performance drop observed across all training stages for a given task.
## Input / output format
**Input**: Instruction-tuned prompts from safety benchmarks (adversarial jailbreaks), multiple-choice QA, open-ended QA, and mathematical reasoning tasks.
**Output**: Model-generated text responses to each prompt.
## Scoring recipe
```python
```python
# Attack Success Rate (ASR)
adv_responses = model.generate(adv_prompts)
asr = sum(1 for resp in adv_responses if is_jailbreak_successful(resp)) / len(adv_prompts)
# Backward Transfer (BWT) & Forgetting Measure (FM)
peak_perf = max(evaluate_model(model, old_tasks) for each checkpoint)
final_perf = evaluate_model(model, old_tasks)
bwt = final_perf - peak_perf
fm = peak_perf - final_perf
# Max Drop
max_drop = max(peak_perf - perf_at_step for each step)
```
```
## Common pitfalls
- ASR variance is high across training stages due to natural variation, not necessarily instability within a single stage.
- Checkpoint-averaging is used for main results, which smooths out transient safety drops that single-checkpoint evaluations might miss.
- Gradient clipping (magnitude-based) is often confused with gradient-based sample selection; the paper shows clipping is insufficient because the issue is sample-specific.
## Evidence (verbatim from paper)
> Evaluation. Task performance via lm-evaluation-harness (Gao et al., 2024). Alignment via: (1) ASR on AdvBench (Zou et al., 2023), (2) ASR on HarmBench (Mazeika et al., 2024), encompassing direct requests, contextual attacks, and optimization-based jailbreaks, (3) TruthfulQA (Lin et al., 2022), (4) commonsense reasoning (ARC-C, BoolQ, HellaSwag, Winogrande).
## Citation
```bibtex
@misc{bach2026continual,
title={Continual Safety Alignment via Gradient-Based Sample Selection},
author={Thong Bach et al. (2026)},
year={2026},
note={arXiv:2604.17215}
}
```
- arXiv: 2604.17215
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!