From d5ec249b6c903221d32ce56bd0c0fcfafea93564 Mon Sep 17 00:00:00 2001 From: Alexander Myasoedov Date: Wed, 28 Jan 2026 18:23:30 +0200 Subject: [PATCH] docs: Update PRD and progress for US-002 completion --- prd.json | 2 +- progress.txt | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/prd.json b/prd.json index a513e2d..2d15289 100644 --- a/prd.json +++ b/prd.json @@ -27,7 +27,7 @@ "Add unit tests for rule loading and validation" ], "priority": 2, - "passes": false + "passes": true }, { "id": "US-003", diff --git a/progress.txt b/progress.txt index 4166e85..bcc21d9 100644 --- a/progress.txt +++ b/progress.txt @@ -34,3 +34,21 @@ - Anthropic response.content[0] can be TextBlock or ToolUseBlock, need hasattr check - Pre-existing test failure in test_sanitize_password (regex doesn't match dict syntax) --- + +## 2026-01-28 - US-002 +- Implemented YAML-based Attack Rule System +- Files created: + - agentic_security/attack_rules/__init__.py + - agentic_security/attack_rules/models.py (AttackRule, AttackRuleSeverity) + - agentic_security/attack_rules/loader.py (RuleLoader, validation, filtering) + - agentic_security/attack_rules/dataset.py (ProbeDataset integration) + - tests/unit/attack_rules/test_models.py + - tests/unit/attack_rules/test_loader.py + - tests/unit/attack_rules/test_dataset.py +- **Learnings for future iterations:** + - Promptmap YAML schema: name, type, severity, prompt, pass_conditions, fail_conditions, source + - Rule types from promptmap: jailbreak, harmful, hate, distraction, prompt_stealing, social_bias + - ProbeDataset is the standard format for attack prompts (dataset_name, metadata, prompts, tokens, approx_cost) + - Use yaml.safe_load for parsing YAML files + - Template variables can use {var} or {{ var }} style +---