/**
 * Cyber-Assistant — Pack de référentiel : OWASP Top 10:2025 (2025)
 * ============================================================================
 * FICHIER GÉNÉRÉ depuis BROUILLON-PACKS-NIST-OWASP-2026-08-04.md (contenu
 * validé par le PO le 2026-08-04). Données de catalogue GÉNÉRIQUES et
 * STANDARDISÉES — aucune donnée client. Lecture seule : jamais copié dans
 * appData (les objets utilisateur portent une référence + un dénormalisé,
 * cf. modules/threat-catalog.js et l'étude
 * ETUDE-REFERENTIELS-ANALYSE-RISQUES-2026-08-04.md §4).
 * Modèle : 1 menace (threats[]) → N scénarios (scenarios[]) instanciables en
 * risques d'analyse. Trilingue FR/EN/NL (décision PO du 04/08).
 * Emplacement OBLIGATOIRE : data/frameworks/ (allowlist update.php).
 */
(function () {
  'use strict';
  window._csiThreatCatalogs = window._csiThreatCatalogs || {};
  window._csiThreatCatalogs["owasp-top10-2025"] =
  {
    "meta": {
      "id": "owasp-top10-2025",
      "name": "OWASP Top 10:2025",
      "nameEn": "OWASP Top 10:2025",
      "nameNl": "OWASP Top 10:2025",
      "version": "2025",
      "publishedAt": "2025-11",
      "sourceDocument": "OWASP Top 10:2025 — The Ten Most Critical Web Application Security Risks",
      "organization": "OWASP Foundation",
      "kind": "vulnerability",
      "natureKind": "Classes de faiblesses applicatives",
      "natureKindEn": "Application weakness classes",
      "natureKindNl": "Klassen van applicatiezwakheden",
      "licence": "Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)",
      "disclaimer": "Les intitulés des catégories sont ceux de l'OWASP Top 10:2025, © OWASP Foundation, sous licence CC BY-SA 4.0 (attribution requise, partage dans les mêmes conditions). Les scénarios, traductions et cotations par défaut sont rédigés par Cyber-Assistant et ne sont ni produits ni endossés par l'OWASP Foundation.",
      "disclaimerEn": "Category titles are those of the OWASP Top 10:2025, © OWASP Foundation, licensed under CC BY-SA 4.0 (attribution required, share-alike). Scenarios, translations and default ratings are authored by Cyber-Assistant and are neither produced nor endorsed by the OWASP Foundation."
    },
    "threats": [
      {
        "id": "OWASP25_A01",
        "ref": "A01:2025",
        "label": "Contrôle d'accès défaillant",
        "labelEn": "Broken Access Control",
        "labelNl": "Gebrekkige toegangscontrole",
        "adversarial": true,
        "domainHints": [
          "IAM",
          "SDLC",
          "LOG"
        ],
        "defaults": {
          "likelihood": 4,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A02",
        "ref": "A02:2025",
        "label": "Mauvaise configuration de sécurité",
        "labelEn": "Security Misconfiguration",
        "labelNl": "Verkeerde beveiligingsconfiguratie",
        "adversarial": true,
        "domainHints": [
          "INFRA",
          "NETCRYPTO",
          "LOG"
        ],
        "defaults": {
          "likelihood": 4,
          "impact": 3
        }
      },
      {
        "id": "OWASP25_A03",
        "ref": "A03:2025",
        "label": "Défaillances de la chaîne d'approvisionnement logicielle",
        "labelEn": "Software Supply Chain Failures",
        "labelNl": "Tekortkomingen in de softwaretoeleveringsketen",
        "adversarial": true,
        "domainHints": [
          "SDLC",
          "VULN",
          "IAM"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A04",
        "ref": "A04:2025",
        "label": "Défaillances cryptographiques",
        "labelEn": "Cryptographic Failures",
        "labelNl": "Cryptografische tekortkomingen",
        "adversarial": true,
        "domainHints": [
          "NETCRYPTO",
          "DATA"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A05",
        "ref": "A05:2025",
        "label": "Injection",
        "labelEn": "Injection",
        "labelNl": "Injectie",
        "adversarial": true,
        "domainHints": [
          "SDLC",
          "NETCRYPTO",
          "LOG"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A06",
        "ref": "A06:2025",
        "label": "Conception non sécurisée",
        "labelEn": "Insecure Design",
        "labelNl": "Onveilig ontwerp",
        "adversarial": true,
        "domainHints": [
          "SDLC"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 3
        }
      },
      {
        "id": "OWASP25_A07",
        "ref": "A07:2025",
        "label": "Défaillances d'authentification",
        "labelEn": "Authentication Failures",
        "labelNl": "Gebrekkige authenticatie",
        "adversarial": true,
        "domainHints": [
          "IAM",
          "NETCRYPTO",
          "LOG"
        ],
        "defaults": {
          "likelihood": 4,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A08",
        "ref": "A08:2025",
        "label": "Défauts d'intégrité du logiciel ou des données",
        "labelEn": "Software or Data Integrity Failures",
        "labelNl": "Integriteitsfouten in software of gegevens",
        "adversarial": true,
        "domainHints": [
          "SDLC",
          "NETCRYPTO"
        ],
        "defaults": {
          "likelihood": 2,
          "impact": 4
        }
      },
      {
        "id": "OWASP25_A09",
        "ref": "A09:2025",
        "label": "Défaillances de journalisation et d'alerte de sécurité",
        "labelEn": "Security Logging and Alerting Failures",
        "labelNl": "Gebrekkige beveiligingslogging en -alarmering",
        "adversarial": true,
        "domainHints": [
          "LOG"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 3
        }
      },
      {
        "id": "OWASP25_A10",
        "ref": "A10:2025",
        "label": "Mauvaise gestion des conditions exceptionnelles",
        "labelEn": "Mishandling of Exceptional Conditions",
        "labelNl": "Gebrekkige afhandeling van uitzonderlijke omstandigheden",
        "adversarial": true,
        "domainHints": [
          "SDLC",
          "LOG"
        ],
        "defaults": {
          "likelihood": 3,
          "impact": 3
        }
      }
    ],
    "scenarios": [
      {
        "id": "OWASP25_A01_SC",
        "threatId": "OWASP25_A01",
        "label": "Un utilisateur accède aux données d'autrui en manipulant identifiants ou URL",
        "labelEn": "A user reaches other people's data by tampering with identifiers or URLs",
        "labelNl": "Een gebruiker bereikt andermans gegevens door identifiers of URL's te manipuleren"
      },
      {
        "id": "OWASP25_A02_SC",
        "threatId": "OWASP25_A02",
        "label": "Console d'administration, bucket ou service laissé accessible avec sa configuration par défaut",
        "labelEn": "Admin console, bucket or service left reachable with its default configuration",
        "labelNl": "Beheerconsole, bucket of dienst blijft bereikbaar met de standaardconfiguratie"
      },
      {
        "id": "OWASP25_A03_SC",
        "threatId": "OWASP25_A03",
        "label": "Dépendance, paquet ou chaîne CI/CD compromis diffusant du code malveillant en production",
        "labelEn": "Compromised dependency, package or CI/CD pipeline shipping malicious code to production",
        "labelNl": "Gecompromitteerde afhankelijkheid, package of CI/CD-keten brengt kwaadaardige code in productie"
      },
      {
        "id": "OWASP25_A04_SC",
        "threatId": "OWASP25_A04",
        "label": "Données sensibles transmises ou stockées sans chiffrement ou avec des algorithmes obsolètes",
        "labelEn": "Sensitive data transmitted or stored unencrypted or with obsolete algorithms",
        "labelNl": "Gevoelige gegevens verzonden of opgeslagen zonder versleuteling of met verouderde algoritmen"
      },
      {
        "id": "OWASP25_A05_SC",
        "threatId": "OWASP25_A05",
        "label": "Entrée non validée exécutée comme requête SQL, commande système ou script",
        "labelEn": "Unvalidated input executed as SQL query, system command or script",
        "labelNl": "Niet-gevalideerde invoer uitgevoerd als SQL-query, systeemcommando of script"
      },
      {
        "id": "OWASP25_A06_SC",
        "threatId": "OWASP25_A06",
        "label": "Logique métier détournable faute d'analyse des menaces dès la conception",
        "labelEn": "Business logic open to abuse for lack of threat analysis at design time",
        "labelNl": "Bedrijfslogica vatbaar voor misbruik door ontbrekende dreigingsanalyse bij het ontwerp"
      },
      {
        "id": "OWASP25_A07_SC",
        "threatId": "OWASP25_A07",
        "label": "Comptes protégés par des mots de passe faibles, sans MFA ni limitation d'essais",
        "labelEn": "Accounts protected by weak passwords, without MFA or attempt limiting",
        "labelNl": "Accounts beschermd met zwakke wachtwoorden, zonder MFA of poginglimiet"
      },
      {
        "id": "OWASP25_A08_SC",
        "threatId": "OWASP25_A08",
        "label": "Mise à jour ou données désérialisées acceptées sans vérification de signature ni d'intégrité",
        "labelEn": "Update or deserialized data accepted without signature or integrity verification",
        "labelNl": "Update of gedeserialiseerde gegevens aanvaard zonder handtekening- of integriteitscontrole"
      },
      {
        "id": "OWASP25_A09_SC",
        "threatId": "OWASP25_A09",
        "label": "Intrusion prolongée non détectée faute de journaux exploitables et d'alertes actives",
        "labelEn": "Extended intrusion going undetected for lack of usable logs and active alerts",
        "labelNl": "Langdurige inbraak blijft onopgemerkt door ontbrekende bruikbare logs en actieve waarschuwingen"
      },
      {
        "id": "OWASP25_A10_SC",
        "threatId": "OWASP25_A10",
        "label": "Erreur non gérée divulguant des détails techniques ou laissant le système ouvert",
        "labelEn": "Unhandled error disclosing technical details or leaving the system failing open",
        "labelNl": "Onafgehandelde fout onthult technische details of laat het systeem in onveilige toestand"
      }
    ]
  };
})();
