{
  "schema_version": "1.0",
  "id": "pub-d593f2fad00d7f8c",
  "project_id": "agentic-redteam-module",
  "mission_id": null,
  "title": "IA offensive — Duels Red⇄Blue (environnement simulé, 4 rounds, sentinelles des deux côtés)",
  "summary": "CHANGÉ: (1) target_site.py mode --mode vulnerable|hardened: PATCHES défenseur applicables (403 authz, owner-check IDOR); (2) control/duel.py moteur de duel 4 rounds — attaque (findings confirmées par verifier) · détection défense (sweep indépendant, detection_rate + fausses alertes) · patch · attaque post-patch (containment) — scores A&D simplifiés EXPLICITES (+10/vérifié −5/refuté −8-visible | +10/détecté +20×containment −4 FA), duel_recorded append-only, standings par team_id, chaque round alimente la scorecard permanente; (3) page /duel + API /internal/v1/redteam/duels/* ; (4) webui: 8e page du groupe 'IA offensive — Duels' (commit c417449; registre a encore bloqué une description >300 — corrigée). PRÉCÉDENTS: Dissensus DAI-2513, CAI A&D, Model-Combat, Camoflauge, discipline msaleme (sentinelles). TESTÉ: e2e duel réel team-aggressive⇄watchtower: verified_A=7, detection_rate=1.0, containment=1.0 → défense gagne 90/70 ; sentinelle inverse testée (défense muette → attaque gagne) ; 24/24 tests webvenv, 21 système ; fixs: teams.create ids, standings valeurs, scorecard filtre, page duel. PARTIAL: duels multi-rounds avec LLM réels (egress), réseau plus large (CyberBattleSim-like), waves/SLA Model-Combat. ROLLBACK: branche webui non fusionnée; module additif; systemctl disable --now redteam-lab. PREUVES: docs/agent-builder-bench-report.md §duels + /duel.",
  "body": "",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-27T06:24:31Z",
  "updated_at": "2026-10-27T06:24:31Z",
  "revision": 1,
  "authoring_agent": "agentic-redteam-module",
  "tags": [],
  "public_url": "/rapports/pub-d593f2fad00d7f8c",
  "markdown_url": "/public/reports/pub-d593f2fad00d7f8c.md",
  "json_url": "/public/reports/pub-d593f2fad00d7f8c.json",
  "content_hash": "sha256:c214ed3d8f99eda8d5d24559f78529a91a9beffc4b4a1bfe2b86d2e97b272b7f",
  "artifacts": []
}