package iace import "time" // builtinHazardsAISW returns hazard library entries for AI/software categories: // false_classification, timing_error, data_poisoning, model_drift, // sensor_spoofing, communication_failure. func builtinHazardsAISW() []HazardLibraryEntry { now := time.Now() return []HazardLibraryEntry{ // ==================================================================== // Category: false_classification (4 entries) // ==================================================================== { ID: hazardUUID("false_classification", 1), Category: "false_classification", Name: "Falsche Bauteil-Klassifikation durch KI", Description: "Das KI-Modell klassifiziert ein Bauteil fehlerhaft, was zu falscher Weiterverarbeitung oder Montage fuehren kann.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundante Pruefung", "Konfidenz-Schwellwert"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 2), Category: "false_classification", Name: "Falsche Qualitaetsentscheidung (IO/NIO)", Description: "Fehlerhafte IO/NIO-Entscheidung durch das KI-System fuehrt dazu, dass defekte Teile als gut bewertet oder gute Teile verworfen werden.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model", "software"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Human-in-the-Loop", "Stichproben-Gegenpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 3), Category: "false_classification", Name: "Fehlklassifikation bei Grenzwertfaellen", Description: "Bauteile nahe an Toleranzgrenzen werden systematisch falsch klassifiziert, da das Modell in Grenzwertbereichen unsicher agiert.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Erweitertes Training", "Grauzone-Eskalation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 4), Category: "false_classification", Name: "Verwechslung von Bauteiltypen", Description: "Unterschiedliche Bauteiltypen werden vom KI-Modell verwechselt, was zu falscher Montage oder Verarbeitung fuehrt.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Barcode-Gegenpruefung", "Doppelte Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: timing_error (3 entries) // ==================================================================== { ID: hazardUUID("timing_error", 1), Category: "timing_error", Name: "Verzoegerte KI-Reaktion in Echtzeitsystem", Description: "Die KI-Inferenz dauert laenger als die zulaessige Echtzeitfrist, was zu verspaeteten Sicherheitsreaktionen fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "ai_model"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Watchdog-Timer", "Fallback-Steuerung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("timing_error", 2), Category: "timing_error", Name: "Echtzeit-Verletzung Safety-Loop", Description: "Der sicherheitsgerichtete Regelkreis kann die geforderten Zykluszeiten nicht einhalten, wodurch Sicherheitsfunktionen versagen koennen.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"ISO 13849", "IEC 61508", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Deterministische Ausfuehrung", "WCET-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("timing_error", 3), Category: "timing_error", Name: "Timing-Jitter bei Netzwerkkommunikation", Description: "Schwankende Netzwerklatenzen fuehren zu unvorhersehbaren Verzoegerungen in der Datenuebertragung sicherheitsrelevanter Signale.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"TSN-Netzwerk", "Pufferung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: data_poisoning (2 entries) // ==================================================================== { ID: hazardUUID("data_poisoning", 1), Category: "data_poisoning", Name: "Manipulierte Trainingsdaten", Description: "Trainingsdaten werden absichtlich oder unbeabsichtigt manipuliert, wodurch das Modell systematisch fehlerhafte Entscheidungen trifft.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Daten-Validierung", "Anomalie-Erkennung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("data_poisoning", 2), Category: "data_poisoning", Name: "Adversarial Input Angriff", Description: "Gezielte Manipulation von Eingabedaten (z.B. Bilder, Sensorsignale), um das KI-Modell zu taeuschen und Fehlentscheidungen auszuloesen.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 15", "CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Input-Validation", "Adversarial Training"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: model_drift (3 entries) // ==================================================================== { ID: hazardUUID("model_drift", 1), Category: "model_drift", Name: "Performance-Degradation durch Concept Drift", Description: "Die statistische Verteilung der Eingabedaten aendert sich ueber die Zeit, wodurch die Modellgenauigkeit schleichend abnimmt.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "EU AI Act Art. 72"}, SuggestedMitigations: mustMarshalJSON([]string{"Monitoring-Dashboard", "Automatisches Retraining"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("model_drift", 2), Category: "model_drift", Name: "Data Drift durch veraenderte Umgebung", Description: "Aenderungen in der physischen Umgebung (Beleuchtung, Temperatur, Material) fuehren zu veraenderten Sensordaten und Modellfehlern.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Statistische Ueberwachung", "Sensor-Kalibrierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("model_drift", 3), Category: "model_drift", Name: "Schleichende Modell-Verschlechterung", Description: "Ohne aktives Monitoring verschlechtert sich die Modellqualitaet ueber Wochen oder Monate unbemerkt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "EU AI Act Art. 72"}, SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige Evaluierung", "A/B-Testing"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: sensor_spoofing (3 entries) // ==================================================================== { ID: hazardUUID("sensor_spoofing", 1), Category: "sensor_spoofing", Name: "Kamera-Manipulation / Abdeckung", Description: "Kamerasensoren werden absichtlich oder unbeabsichtigt abgedeckt oder manipuliert, sodass das System auf Basis falscher Bilddaten agiert.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"sensor"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Plausibilitaetspruefung", "Mehrfach-Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("sensor_spoofing", 2), Category: "sensor_spoofing", Name: "Sensor-Signal-Injection", Description: "Einspeisung gefaelschter Signale in die Sensorleitungen oder Schnittstellen, um das System gezielt zu manipulieren.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"sensor", "network"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Signalverschluesselung", "Anomalie-Erkennung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("sensor_spoofing", 3), Category: "sensor_spoofing", Name: "Umgebungsbasierte Sensor-Taeuschung", Description: "Natuerliche oder kuenstliche Umgebungsveraenderungen (Licht, Staub, Vibration) fuehren zu fehlerhaften Sensorwerten.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Sensor-Fusion", "Redundanz"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: communication_failure (3 entries) // ==================================================================== { ID: hazardUUID("communication_failure", 1), Category: "communication_failure", Name: "Feldbus-Ausfall", Description: "Ausfall des industriellen Feldbusses (z.B. PROFINET, EtherCAT) fuehrt zum Verlust der Kommunikation zwischen Steuerung und Aktorik.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundanter Bus", "Safe-State-Transition"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("communication_failure", 2), Category: "communication_failure", Name: "Cloud-Verbindungsverlust", Description: "Die Verbindung zur Cloud-Infrastruktur bricht ab, wodurch cloud-abhaengige Funktionen (z.B. Modell-Updates, Monitoring) nicht verfuegbar sind.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"CRA", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"Offline-Faehigkeit", "Edge-Computing"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("communication_failure", 3), Category: "communication_failure", Name: "Netzwerk-Latenz-Spitzen", Description: "Unkontrollierte Latenzspitzen im Netzwerk fuehren zu Timeouts und verspaeteter Datenlieferung an sicherheitsrelevante Systeme.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"QoS-Konfiguration", "Timeout-Handling"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, } }