g5-eval-dashboard / docs /ATTACK_TAXONOMY.md
juandavidrodriguezar's picture
Upload folder using huggingface_hub
eaae571 verified
|
Raw
History Blame
3.15 kB
# Attack Taxonomy v1
This taxonomy is a compact, implementation-oriented consolidation of the `attack_family` values already present in `data/normalized/attack_cases.jsonl`. It keeps source-specific `attack_subtype` values intact while grouping cases into a small canonical set that is easier to track, enrich, and evaluate.
## Canonical Categories
| Canonical category | Typical mapped families | Intended use |
|---|---|---|
| `instruction_override` | `direct_instruction_override`, `instruction_override`, some `compound_instruction_attack` cases | Direct attempts to replace or dominate system/task instructions |
| `prompt_leakage` | `prompt_leakage`, `system_prompt_extraction` | Attempts to disclose hidden prompts, secrets, or internal policy |
| `retrieved_indirect` | `retrieved_content_injection` | Indirect or tool-mediated attacks from documents, email, calendar, drive, etc. |
| `evasion_obfuscation` | `blacklist_evasion`, `xml_escape_evasion`, `restricted_character_bypass`, `emoji_only_bypass`, `sandwich_defense_bypass` | Obfuscation or bypass techniques meant to evade simple defenses |
| `adaptive_multiturn` | `adaptive_attack` | Iterative or staged attacks that adapt over multiple turns |
| `benign_control` | `benign_control` | Negative controls for false-positive and utility measurement |
This canonical set is now the frozen project taxonomy for active benchmark
mapping and should not be casually expanded during implementation:
- `instruction_override`
- `prompt_leakage`
- `retrieved_indirect`
- `evasion_obfuscation`
- `adaptive_multiturn`
- `benign_control`
## Mapping Principles
- Preserve the original `attack_family` and `attack_subtype`.
- Add `attack_category` as the canonical project-level taxonomy label.
- Add `success_definition_id` so evaluation logic can later bind to stable success criteria.
- Add numeric `severity` while preserving the original textual `severity_level`.
- Keep provenance fields visible so downstream analysis can trace dataset origin and benchmark split.
## Why This Structure
- It matches the methodology direction already described in the project docs.
- It is small enough to be stable across datasets.
- It is explicit enough to support enrichment scripts, auditability, and later mitigations without forcing a runtime rewrite.
## Current Active Benchmark Mapping
Current active source coverage in the enriched corpus is:
- `HackAPrompt`
- maps to `instruction_override`
- maps to `prompt_leakage`
- maps to `evasion_obfuscation`
- maps to `adaptive_multiturn`
- `TensorTrust`
- `hijacking` maps to `instruction_override`
- `extraction` maps to `prompt_leakage`
- active in the normalized experiment corpus
`AgentDojo` remains a benchmark reference/example source and still maps to
`retrieved_indirect`, but it is not part of the current active experiment
corpus because the extracted set is too small and partial.
This means the active corpus already exercises multiple canonical categories,
but not yet the full benchmark landscape. Future expansion should preserve this
canonical taxonomy rather than introduce source-specific top-level categories.