package iace // GetCRAPatterns returns hazard patterns for the EU Cyber Resilience Act // compliance track. They fire when a project's components carry digital // elements (software, network, AI) and therefore fall under the CRA. // // The CRA itself (Verordnung (EU) 2024/2847) became force-of-law on // 11 December 2024 and applies to products with digital elements placed // on the EU market from 11 December 2027. The harmonised standard for // machinery is DIN EN 40000-1-2 (Entwurf November 2025). // // Identifiers only — no normative text is reproduced. // // HP range: HP1910-HP1918. func GetCRAPatterns() []HazardPattern { return []HazardPattern{ { ID: "HP1910", NameDE: "Fehlende Software-Stueckliste (SBOM) fuer die Maschine", NameEN: "Missing Software Bill of Materials (SBOM)", RequiredComponentTags: []string{"has_software"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M540"}, Priority: 70, ApplicableLifecycles: []string{"normal_operation", "maintenance"}, ScenarioDE: "Die Maschine enthaelt Software-Komponenten (PLC-Firmware, HMI, Roboter-Controller). Wird keine maschinenlesbare Komponentenliste mitgeliefert, kann der Betreiber im Falle einer veroeffentlichten Schwachstelle (CVE) nicht feststellen, ob seine Maschine betroffen ist.", TriggerDE: "Veroeffentlichung einer Sicherheitsluecke in einer mitverwendeten Bibliothek (z.B. log4j, OpenSSL); Audit-Anfrage des Betreibers; Schwachstellenmeldung durch Forscher.", HarmDE: "Cybersecurity-Folgeschaden: nicht behebbare Schwachstelle, Maschinen-Stillstand bei Behoerden-Audit, Reputations- und Haftungsrisiko.", AffectedDE: "Betreiber, IT-/OT-Verantwortliche, Anlagenbauer", ZoneDE: "Maschinendokumentation, Software-Auslieferung", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Wird eine SBOM (SPDX oder CycloneDX) mit jeder Maschine bzw. jedem Software-Release ausgeliefert?", "Sind alle Open-Source-Bibliotheken in der SBOM mit Version und Lizenz inventarisiert?", "Wie wird die SBOM bei einem Software-Update aktualisiert?", }, DefaultSeverity: 3, DefaultExposure: 4, DefaultAvoidability: 1, }, { ID: "HP1911", NameDE: "Updates ohne kryptographische Signatur einspielbar", NameEN: "Unsigned firmware/software updates accepted", RequiredComponentTags: []string{"has_software", "networked"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M541", "M547"}, Priority: 90, ApplicableLifecycles: []string{"maintenance", "fault_clearing"}, ScenarioDE: "Software- oder Firmware-Updates der Maschine koennen ohne Pruefung einer Hersteller-Signatur eingespielt werden. Ein Angreifer mit physischem oder Netzwerk-Zugriff kann manipulierte Updates aufspielen und die Maschinensicherheit kompromittieren.", TriggerDE: "Update-USB an HMI angesteckt; ungesicherter Update-Endpoint im Netzwerk erreichbar; Service-Techniker bringt nicht authentifiziertes Update mit.", HarmDE: "Kompromittierung der Steuerung mit Folgewirkung auf Maschinensicherheit (z.B. Deaktivieren von Sicherheitsfunktionen, Manipulation von Achs-Limits, Daten-Diebstahl).", AffectedDE: "Bedienpersonal, Wartungspersonal, Betreiber", ZoneDE: "Steuerung, HMI, Update-Schnittstellen", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Werden alle Software-/Firmware-Updates kryptographisch signiert ausgeliefert?", "Prueft die Maschine die Signatur vor dem Anwenden eines Updates und verweigert unsignierte Pakete?", "Ist ein Rollback auf nachweislich verwundbare Versionen durch einen Versions-Counter blockiert?", }, DefaultSeverity: 4, DefaultExposure: 2, DefaultAvoidability: 1, }, { ID: "HP1912", NameDE: "Werkseitige Default-Passwoerter bleiben im Betrieb aktiv", NameEN: "Factory-default credentials remain active in production", RequiredComponentTags: []string{"has_software", "user_interface"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M542"}, Priority: 85, ApplicableLifecycles: []string{"setup", "normal_operation"}, ScenarioDE: "Die Maschine wird mit werkseitigen Standard-Passwoertern (z.B. admin/admin, 1234, Werks-Default-PIN) ausgeliefert. Werden diese nicht beim ersten Hochfahren zwangsweise geaendert, sind sie ueblicherweise oeffentlich bekannt.", TriggerDE: "Inbetriebnahme ohne Initialisierungs-Wizard; Werks-Reset durch unbefugte Person; Werks-Default in Online-Listen veroeffentlicht.", HarmDE: "Unautorisierter Zugriff auf Bediener-/Wartungsebene, Manipulation der Maschinen-Konfiguration, Abgriff von Produktions-/Personendaten.", AffectedDE: "Betreiber, IT-/OT-Verantwortliche", ZoneDE: "HMI, Wartungs-Login, Remote-Service-Zugang", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Erzwingt die Maschine beim ersten Hochfahren die Aenderung aller werkseitigen Default-Passwoerter?", "Sind die werkseitigen Credentials in der oeffentlichen Dokumentation NICHT enthalten?", "Wie wird ein Werks-Reset gegen unbefugten Zugriff geschuetzt?", }, DefaultSeverity: 3, DefaultExposure: 3, DefaultAvoidability: 1, }, { ID: "HP1913", NameDE: "Keine veroeffentlichte CVD-Policy (Vulnerability Disclosure)", NameEN: "No coordinated vulnerability disclosure policy", RequiredComponentTags: []string{"has_software"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M543"}, Priority: 70, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Der Anlagenbauer hat keine veroeffentlichte Kontaktstelle fuer die Meldung von Schwachstellen. Externe Sicherheitsforscher oder Kunden finden keinen Weg, Schwachstellen vertraulich zu melden — diese werden im Zweifel ungefiltert oeffentlich (Full-Disclosure).", TriggerDE: "Sicherheitsforscher findet Schwachstelle, kein PSIRT-Kontakt; Kunde will Schwachstelle melden, scheitert an Erreichbarkeit.", HarmDE: "Veroeffentlichung von Schwachstellen ohne Patch verfuegbar (0-day in der Wildbahn), Reputationsverlust, Behoerden-Sanktion nach CRA.", AffectedDE: "Hersteller, Betreiber, Sicherheitsforscher", ZoneDE: "Hersteller-Website, Dokumentation", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Existiert eine veroeffentlichte CVD-Policy mit eindeutiger Meldekontaktstelle?", "Ist eine security.txt nach RFC 9116 auf der Hersteller-Website hinterlegt?", "Sind Antwort- und Behebungsfristen in der Policy dokumentiert?", }, DefaultSeverity: 2, DefaultExposure: 3, DefaultAvoidability: 1, }, { ID: "HP1914", NameDE: "Keine dokumentierte Patch-SLA fuer Sicherheits-Updates", NameEN: "No documented security patch SLA", RequiredComponentTags: []string{"has_software"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M544"}, Priority: 70, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Der Hersteller hat keine verbindlichen Reaktionszeiten fuer Sicherheits-Patches definiert. Im Schwachstellenfall ist offen, wie schnell ein Patch geliefert wird — Betreiber kann sein Risiko nicht steuern.", TriggerDE: "CVE wird veroeffentlicht; Betreiber fragt Patch-Termin an; Hersteller hat keine SLA und kann keinen Termin nennen.", HarmDE: "Lange Exposition gegenueber bekannter Schwachstelle; Verstoss gegen CRA-Pflichten zur Schwachstellenbehandlung.", AffectedDE: "Hersteller, Betreiber, IT-/OT-Verantwortliche", ZoneDE: "Vertrags-/Dokumentationsebene", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Existiert eine dokumentierte Patch-SLA mit CVSS-abhaengigen Reaktionszeiten?", "Welcher Sicherheits-Supportzeitraum wird zugesagt (CRA-Mindest: erwartete Nutzungsdauer, typ. 5 Jahre)?", "Wird die SLA mit der Maschine ausgeliefert oder vertraglich vereinbart?", }, DefaultSeverity: 2, DefaultExposure: 3, DefaultAvoidability: 1, }, { ID: "HP1915", NameDE: "Fehlende Cybersecurity-Anwender-Dokumentation (Hardening-Guide)", NameEN: "Missing user-facing cybersecurity hardening guide", RequiredComponentTags: []string{"has_software", "networked"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M545"}, Priority: 65, ApplicableLifecycles: []string{"setup", "normal_operation"}, ScenarioDE: "Der Betreiber erhaelt keine Anleitung zur sicheren Inbetriebnahme und Konfiguration der Maschine im Werks-Netzwerk. Konfigurations-Fehler (offene Ports, ungehaerteter Default-Zustand) bleiben unentdeckt.", TriggerDE: "Inbetriebnahme der Maschine im IT/OT-Netzwerk; Sicherheits-Audit beim Betreiber.", HarmDE: "Angreifbares Konfigurations-Profil, das vom Standardzustand der Maschine vererbt wurde; Verstoss gegen CRA Anhang II (Anwender-Information).", AffectedDE: "Betreiber, IT-/OT-Verantwortliche", ZoneDE: "Maschinen-Konfiguration, Netzwerk-Anbindung", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Liegt der Maschine ein Cybersecurity-Hardening-Guide bei (Netzwerk-Segmentierung, deaktivierbare Dienste, sichere Konfiguration)?", "Wird der Guide bei Updates gepflegt?", "Enthaelt die Betriebsanleitung ein Kapitel 'Sichere Inbetriebnahme'?", }, DefaultSeverity: 2, DefaultExposure: 3, DefaultAvoidability: 1, }, { ID: "HP1916", NameDE: "Kein definierter Meldeprozess fuer Sicherheitsvorfaelle an ENISA/CSIRT", NameEN: "No incident notification process to ENISA / national CSIRT", RequiredComponentTags: []string{"has_software"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M546"}, Priority: 75, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Der Hersteller hat keinen internen Prozess, um aktiv ausgenutzte Schwachstellen oder schwere Sicherheitsvorfaelle innerhalb der CRA-Meldefristen (24 h / 72 h / 14 Tage) an ENISA bzw. die zustaendige nationale Stelle zu melden.", TriggerDE: "Schwachstelle wird in der Wildbahn ausgenutzt; Sicherheitsvorfall bei einem Kunden gemeldet.", HarmDE: "Versaeumte Meldefrist nach CRA Art. 14 — Bussgeldrisiko, Verlust der CE-Konformitaetsvermutung.", AffectedDE: "Hersteller, Compliance/PSIRT-Team", ZoneDE: "Hersteller-Prozesse", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Existiert ein dokumentierter Incident-Notification-Prozess mit Eskalationsmatrix?", "Sind die CRA-Meldefristen (Erstmeldung 24 h, Update 72 h, Abschluss 14 Tage) als interne SLA umgesetzt?", "Ist die zustaendige nationale CSIRT-Stelle ermittelt und der Meldekanal getestet?", }, DefaultSeverity: 3, DefaultExposure: 2, DefaultAvoidability: 1, }, { ID: "HP1917", NameDE: "Keine Sicherheitsbewertung vor Inverkehrbringen (Pen-Test / Static Analysis)", NameEN: "No security assessment prior to placing on market", RequiredComponentTags: []string{"has_software"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M548"}, Priority: 70, ApplicableLifecycles: []string{"setup"}, ScenarioDE: "Vor dem erstmaligen Inverkehrbringen wurde keine dokumentierte Sicherheitsbewertung (mind. statische Code-Analyse + Schwachstellen-Scan) durchgefuehrt. Bekannte Schwachstellen-Klassen gelangen unbemerkt in die Auslieferung.", TriggerDE: "Inverkehrbringen einer neuen Maschinen-Variante oder eines Major-Updates; behoerdlicher Konformitaetsnachweis.", HarmDE: "Auslieferung von Maschinen mit bekannten Schwachstellen; Verstoss gegen CRA Anhang I (Cybersecurity-Anforderungen).", AffectedDE: "Hersteller, Betreiber", ZoneDE: "Entwicklungs-/Auslieferungsprozess", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Wird vor jedem Major-Release eine dokumentierte Sicherheitsbewertung durchgefuehrt?", "Sind statische Analyse und Dependency-Scan in den CI-Pipeline integriert?", "Werden bei erhoehtem Risiko Penetrationstests durch unabhaengige Stellen durchgefuehrt?", }, DefaultSeverity: 3, DefaultExposure: 2, DefaultAvoidability: 1, }, { ID: "HP1918", NameDE: "AI-Komponente ohne Cybersecurity-Risikobetrachtung", NameEN: "AI component without cybersecurity risk assessment", RequiredComponentTags: []string{"has_ai"}, GeneratedHazardCats: []string{"cyber_resilience"}, SuggestedMeasureIDs: []string{"M548", "M545"}, Priority: 75, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Die Maschine enthaelt KI-Komponenten (z.B. Bildverarbeitung, anomalie-basierte Wartung). Cybersecurity-spezifische KI-Risiken (Model Inversion, Adversarial Examples, Poisoning des Trainingsdatensatzes) wurden nicht geprueft.", TriggerDE: "Adversarial Input wird ueber Sensor-/HMI-Schnittstelle eingespielt; manipuliertes Update-Modell wird ausgespielt.", HarmDE: "Fehlsteuerung der Maschine durch manipuliertes KI-Modell; mittelbare Sicherheitsfolgen, Datenleckage aus Modell.", AffectedDE: "Bedienpersonal, Betreiber", ZoneDE: "KI-Modul, Modell-Auslieferungspfad", ISO12100Section: "6.3.5.7", ClarificationQuestionsDE: []string{ "Sind KI-spezifische Cybersecurity-Risiken (Adversarial Inputs, Poisoning, Model Inversion) im Risikobeurteilungsprozess betrachtet?", "Wie wird die Integritaet ausgelieferter KI-Modelle sichergestellt (Signatur, Hash, sichere Auslieferungs-Kanal)?", "Existiert ein Monitoring auf ungewoehnliche Eingangsmuster im Betrieb?", }, DefaultSeverity: 3, DefaultExposure: 2, DefaultAvoidability: 1, }, } }