| name | adversarial-training |
| version | 2.0.0 |
| description | Defensive techniques using adversarial examples to improve model robustness and security |
| sasmp_version | 1.3.0 |
| bonded_agent | 05-defense-strategy-developer |
| bond_type | PRIMARY_BOND |
| input_schema | {"type":"object","required":["training_method"],"properties":{"training_method":{"type":"string","enum":["standard","trades","certified","ensemble","all"]},"epsilon":{"type":"number","default":0.3},"attack_types":{"type":"array","items":{"type":"string","enum":["fgsm","pgd","cw","autoattack"]}}}} |
| output_schema | {"type":"object","properties":{"robustness_score":{"type":"number"},"clean_accuracy":{"type":"number"},"adversarial_accuracy":{"type":"number"}}} |
| owasp_llm_2025 | ["LLM04","LLM09"] |
| nist_ai_rmf | ["Manage"] |
Adversarial Training
Build robust AI models by training with adversarial examples and attack simulations.
Quick Reference
Skill: adversarial-training
Agent: 05-defense-strategy-developer
OWASP: LLM04 (Data Poisoning), LLM09 (Misinformation)
NIST: Manage function
Use Case: Improve model robustness against attacks
Training Methods
1. Standard Adversarial Training
Method: standard
Robustness Gain: 30-50%
Accuracy Tradeoff: 5-15%
Complexity: Medium
class AdversarialTrainer:
def __init__(self, model, epsilon=0.3, attack_steps=10):
self.model = model
self.epsilon = epsilon
self.attack_steps = attack_steps
def train_step(self, x, y):
x_adv = .pgd_attack(x, y)
loss_clean = .criterion(.model(x), y)
loss_adv = .criterion(.model(x_adv), y)
total_loss = * loss_clean + * loss_adv
total_loss
():
x_adv = x.clone().requires_grad_()
_ (.attack_steps):
loss = .criterion(.model(x_adv), y)
loss.backward()
x_adv = x_adv + .epsilon/.attack_steps * x_adv.grad.sign()
x_adv = torch.clamp(x_adv, x-.epsilon, x+.epsilon)
x_adv = x_adv.detach().requires_grad_()
x_adv