package iace import "time" // builtinHazardsAIFW returns hazard library entries for AI/firmware categories: // unauthorized_access, firmware_corruption, safety_boundary_violation, // mode_confusion, unintended_bias, update_failure. func builtinHazardsAIFW() []HazardLibraryEntry { now := time.Now() return []HazardLibraryEntry{ // ==================================================================== // Category: unauthorized_access (4 entries) // ==================================================================== { ID: hazardUUID("unauthorized_access", 1), Category: "unauthorized_access", Name: "Unautorisierter Remote-Zugriff", Description: "Ein Angreifer erlangt ueber das Netzwerk Zugriff auf die Maschinensteuerung und kann sicherheitsrelevante Parameter aendern.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"IEC 62443", "CRA", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"VPN", "MFA", "Netzwerksegmentierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 2), Category: "unauthorized_access", Name: "Konfigurations-Manipulation", Description: "Sicherheitsrelevante Konfigurationsparameter werden unautorisiert geaendert, z.B. Grenzwerte, Schwellwerte oder Betriebsmodi.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62443", "CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Zugriffskontrolle", "Audit-Log"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 3), Category: "unauthorized_access", Name: "Privilege Escalation", Description: "Ein Benutzer oder Prozess erlangt hoehere Berechtigungen als vorgesehen und kann sicherheitskritische Aktionen ausfuehren.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"RBAC", "Least Privilege"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 4), Category: "unauthorized_access", Name: "Supply-Chain-Angriff auf Komponente", Description: "Eine kompromittierte Softwarekomponente oder Firmware wird ueber die Lieferkette eingeschleust und enthaelt Schadcode oder Backdoors.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "IEC 62443", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"SBOM", "Signaturpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: firmware_corruption (3 entries) // ==================================================================== { ID: hazardUUID("firmware_corruption", 1), Category: "firmware_corruption", Name: "Update-Abbruch mit inkonsistentem Zustand", Description: "Ein Firmware-Update wird unterbrochen (z.B. Stromausfall), wodurch das System in einem inkonsistenten und potenziell unsicheren Zustand verbleibt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"A/B-Partitioning", "Rollback"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("firmware_corruption", 2), Category: "firmware_corruption", Name: "Rollback-Fehler auf alte Version", Description: "Ein Rollback auf eine aeltere Firmware-Version schlaegt fehl oder fuehrt zu Inkompatibilitaeten mit der aktuellen Hardware-/Softwarekonfiguration.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Versionsmanagement", "Kompatibilitaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("firmware_corruption", 3), Category: "firmware_corruption", Name: "Boot-Chain-Angriff", Description: "Die Bootsequenz wird manipuliert, um unsignierte oder kompromittierte Firmware auszufuehren, was die gesamte Sicherheitsarchitektur untergaebt.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Secure Boot", "TPM"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: safety_boundary_violation (4 entries) // ==================================================================== { ID: hazardUUID("safety_boundary_violation", 1), Category: "safety_boundary_violation", Name: "Kraft-/Drehmoment-Ueberschreitung", Description: "Aktorische Systeme ueberschreiten die zulaessigen Kraft- oder Drehmomentwerte, was zu Verletzungen oder Maschinenschaeden fuehren kann.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Hardware-Limiter", "SIL-Ueberwachung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 2), Category: "safety_boundary_violation", Name: "Geschwindigkeitsueberschreitung Roboter", Description: "Ein Industrieroboter ueberschreitet die zulaessige Geschwindigkeit, insbesondere bei Mensch-Roboter-Kollaboration.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "ISO 10218"}, SuggestedMitigations: mustMarshalJSON([]string{"Safe Speed Monitoring", "Lichtgitter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 3), Category: "safety_boundary_violation", Name: "Versagen des Safe-State", Description: "Das System kann im Fehlerfall keinen sicheren Zustand einnehmen, da die Sicherheitssteuerung selbst versagt.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"controller", "software", "firmware"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundante Sicherheitssteuerung", "Diverse Programmierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 4), Category: "safety_boundary_violation", Name: "Arbeitsraum-Verletzung", Description: "Ein Roboter oder Aktor verlaesst seinen definierten Arbeitsraum und dringt in den Schutzbereich von Personen ein.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "ISO 10218"}, SuggestedMitigations: mustMarshalJSON([]string{"Sichere Achsueberwachung", "Schutzzaun-Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: mode_confusion (3 entries) // ==================================================================== { ID: hazardUUID("mode_confusion", 1), Category: "mode_confusion", Name: "Falsche Betriebsart aktiv", Description: "Das System befindet sich in einer unbeabsichtigten Betriebsart (z.B. Automatik statt Einrichtbetrieb), was zu unerwarteten Maschinenbewegungen fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Betriebsart-Anzeige", "Schluesselschalter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mode_confusion", 2), Category: "mode_confusion", Name: "Wartung/Normal-Verwechslung", Description: "Das System wird im Normalbetrieb gewartet oder der Wartungsmodus wird nicht korrekt verlassen, was zu gefaehrlichen Situationen fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Zugangskontrolle", "Sicherheitsverriegelung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mode_confusion", 3), Category: "mode_confusion", Name: "Automatik-Eingriff waehrend Handbetrieb", Description: "Das System wechselt waehrend des Handbetriebs unerwartet in den Automatikbetrieb, wodurch eine Person im Gefahrenbereich verletzt werden kann.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Exklusive Betriebsarten", "Zustimmtaster"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: unintended_bias (2 entries) // ==================================================================== { ID: hazardUUID("unintended_bias", 1), Category: "unintended_bias", Name: "Diskriminierende KI-Entscheidung", Description: "Das KI-Modell trifft systematisch diskriminierende Entscheidungen, z.B. bei der Qualitaetsbewertung bestimmter Produktchargen oder Lieferanten.", DefaultSeverity: 3, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "EU AI Act Art. 71"}, SuggestedMitigations: mustMarshalJSON([]string{"Bias-Testing", "Fairness-Metriken"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unintended_bias", 2), Category: "unintended_bias", Name: "Verzerrte Trainingsdaten", Description: "Die Trainingsdaten sind nicht repraesentativ und enthalten systematische Verzerrungen, die zu unfairen oder fehlerhaften Modellergebnissen fuehren.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "EU AI Act Art. 71"}, SuggestedMitigations: mustMarshalJSON([]string{"Datensatz-Audit", "Ausgewogenes Sampling"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: update_failure (3 entries) // ==================================================================== { ID: hazardUUID("update_failure", 1), Category: "update_failure", Name: "Unvollstaendiges OTA-Update", Description: "Ein Over-the-Air-Update wird nur teilweise uebertragen oder angewendet, wodurch das System in einem inkonsistenten Zustand verbleibt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"firmware", "software"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Atomare Updates", "Integritaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("update_failure", 2), Category: "update_failure", Name: "Versionskonflikt nach Update", Description: "Nach einem Update sind Software- und Firmware-Versionen inkompatibel, was zu Fehlfunktionen oder Ausfaellen fuehrt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Kompatibilitaetsmatrix", "Staging-Tests"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("update_failure", 3), Category: "update_failure", Name: "Unkontrollierter Auto-Update", Description: "Ein automatisches Update wird ohne Genehmigung oder ausserhalb eines Wartungsfensters eingespielt und stoert den laufenden Betrieb.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Update-Genehmigung", "Wartungsfenster"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, } }