package iace

// GetCyberExtendedPatterns returns 30 hazard patterns (HP800-HP829)
// for detailed software faults and cyber-security threats in industrial
// control systems.
func GetCyberExtendedPatterns() []HazardPattern {
	return []HazardPattern{
		// ================================================================
		// Software-Fehler detailliert (HP800-HP814)
		// ================================================================
		{
			ID: "HP800", NameDE: "Speicherueberlauf fuehrt zu unkontrolliertem Verhalten", NameEN: "Memory overflow causes uncontrolled behavior",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M111", "M107", "M106", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              85,
			ScenarioDE:      "Dynamischer Speicher der Steuerung laeuft voll; Steuerungsprogramm verhaelt sich undefiniert oder stuerzt ab.",
			TriggerDE:       "Memory Leak ueber Betriebszeit, fehlende Speicherfreigabe, zu kleine Heap-Groesse",
			HarmDE:          "Unkontrollierter Maschinenzustand, Ausfall der Sicherheitsfunktion, unerwartete Aktorbewegung",
			AffectedDE:      "Bedienpersonal, Personen im Maschinenbereich",
			ZoneDE:          "Gesamte Maschine (alle softwaregesteuerten Aktoren)",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP801", NameDE: "Race Condition in Echtzeitsystem", NameEN: "Race condition in real-time system",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M040", "M044", "M106", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              85,
			ScenarioDE:      "Zwei Tasks greifen gleichzeitig auf gemeinsame Ressource zu; Zustandsinformation wird inkonsistent.",
			TriggerDE:       "Fehlende Synchronisierung, Interrupt-Kollision, Multicore-Steuerung ohne Mutex",
			HarmDE:          "Falsche Aktoransteuerung, Sicherheitszustand wird uebersprungen, sporadische Fehlfunktion",
			AffectedDE:      "Bedienpersonal, Wartungspersonal (schwer reproduzierbar)",
			ZoneDE:          "Alle softwaregesteuerten Achsen und Sicherheitsfunktionen",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP802", NameDE: "Division durch Null in Regelkreis", NameEN: "Division by zero in control loop",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M107", "M214", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              80,
			ScenarioDE:      "Regelkreis teilt durch einen Sensorwert, der unerwartet Null wird; Stellgroesse laeuft ins Unendliche.",
			TriggerDE:       "Sensorausfall liefert Null, Grenzwertberechnung ohne Pruefung, Kaltstart mit uninitialisierten Werten",
			HarmDE:          "Aktor faehrt mit Maximalgeschwindigkeit, Druckregelung auf Maximum, unkontrollierter Prozess",
			AffectedDE:      "Bedienpersonal, Personen im Wirkbereich des Aktors",
			ZoneDE:          "Regelstrecke, Aktorbereich, gesamter Regelkreis",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP803", NameDE: "Falscher Datentyp fuehrt zu Werteueberlauf", NameEN: "Wrong data type causes value overflow",
			RequiredComponentTags: []string{"has_software"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M111", "M214", "M107", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              75,
			ScenarioDE:      "Integer-Ueberlauf in der Steuerung wandelt grossen Positivwert in negativen Wert und kehrt Bewegungsrichtung um.",
			TriggerDE:       "16-Bit-Variable fuer 32-Bit-Wert, fehlende Bereichspruefung, Zaehlerueberlauf",
			HarmDE:          "Aktor faehrt in falsche Richtung, Kollision, mechanischer Anschlag wird ueberfahren",
			AffectedDE:      "Bedienpersonal, Personen im Bewegungsbereich",
			ZoneDE:          "Verfahrbereich der Achsen, Positionierbereich",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP804", NameDE: "Watchdog loest nicht aus", NameEN: "Watchdog fails to trigger",
			RequiredComponentTags: []string{"has_software", "safety_device"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure", "software_fault"},
			SuggestedMeasureIDs:   []string{"M104", "M105"},
			SuggestedEvidenceIDs:  []string{"E01", "E08", "E14"},
			Priority:              90,
			ScenarioDE:      "Hardware- oder Software-Watchdog erkennt Haengen der Steuerung nicht und loest keinen sicheren Zustand aus.",
			TriggerDE:       "Watchdog falsch konfiguriert, Programm bedient Watchdog obwohl Funktion fehlerhaft, Timer-Intervall zu lang",
			HarmDE:          "Steuerung bleibt in unsicherem Zustand, Sicherheitsfunktion wird nicht ausgeloest",
			AffectedDE:      "Bedienpersonal, alle Personen im Gefahrenbereich",
			ZoneDE:          "Gesamte Maschine (bei Versagen des Watchdog fehlt letzte Sicherheitsebene)",
			DefaultSeverity: 5, DefaultExposure: 1,
		},
		{
			ID: "HP805", NameDE: "Deadlock in Multi-Thread-Steuerung", NameEN: "Deadlock in multi-threaded controller",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M106", "M107", "M044", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              80,
			ScenarioDE:      "Zwei oder mehr Tasks der Steuerung blockieren sich gegenseitig; Steuerung reagiert nicht mehr.",
			TriggerDE:       "Zirkulaere Ressourcen-Abhaengigkeit, verschachtelte Locks in falscher Reihenfolge",
			HarmDE:          "Steuerung friert ein, Aktor in letzter Position, kein Stopp-Befehl moeglich",
			AffectedDE:      "Bedienpersonal, Personen im Maschinenbereich",
			ZoneDE:          "Gesamte Maschine (alle softwaregesteuerten Funktionen eingefroren)",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP806", NameDE: "Datenverlust nach Spannungsausfall", NameEN: "Data loss after power failure",
			RequiredComponentTags: []string{"has_software"},
			RequiredEnergyTags:    []string{"electrical_energy"},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M103", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              70,
			ScenarioDE:      "Steuerung verliert nach Spannungsausfall Prozessdaten und startet mit falschen oder veralteten Parametern.",
			TriggerDE:       "Spannungsausfall waehrend Schreibvorgang, kein nichtfluechtiger Speicher, kein USV-System",
			HarmDE:          "Falsche Referenzposition nach Neustart, falsche Prozessparameter, unerwartete Bewegung",
			AffectedDE:      "Bedienpersonal beim Wiederanlauf",
			ZoneDE:          "Gesamte Maschine, insbesondere Referenzfahrt-Bereiche",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		{
			ID: "HP807", NameDE: "Korrupte Firmware nach fehlerhaftem Update", NameEN: "Corrupt firmware after failed update",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"update_failure", "software_fault"},
			SuggestedMeasureIDs:   []string{"M138", "M146"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              80,
			ScenarioDE:      "Firmware-Update wird unterbrochen und hinterlaesst Steuerung mit teilweise ueberschriebener, inkonsistenter Software.",
			TriggerDE:       "Spannungsausfall waehrend Update, Netzwerkabbruch, inkompatible Firmware-Version",
			HarmDE:          "Steuerung startet nicht oder verhaelt sich undefiniert, Sicherheitsfunktionen verloren",
			AffectedDE:      "Wartungspersonal, Bedienpersonal nach Wiederinbetriebnahme",
			ZoneDE:          "Gesamte Maschine (Steuerung nicht funktionsfaehig oder unberechenbar)",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP808", NameDE: "Falsches Programm geladen (Verwechslung)", NameEN: "Wrong program loaded (mix-up)",
			RequiredComponentTags: []string{"programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"configuration_error"},
			SuggestedMeasureIDs:   []string{"M145", "M146", "M121"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              80,
			ScenarioDE:      "Falsches Maschinenrezept oder SPS-Programm wird geladen; Maschine arbeitet mit falschen Parametern.",
			TriggerDE:       "Verwechslung der Programmnummer, fehlende Rezeptvalidierung, ungesicherte Programmauswahl",
			HarmDE:          "Falsche Werkzeugbewegung, Kollision, zu hohe Kraefte auf Werkstueck",
			AffectedDE:      "Bedienpersonal, Einrichter",
			ZoneDE:          "Gesamte Bearbeitungszone, alle programmierten Achsen",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP809", NameDE: "Sensorwert ausserhalb Messbereich", NameEN: "Sensor value out of measuring range",
			RequiredComponentTags: []string{"sensor_part", "has_software"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M214", "M213", "M119", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              75,
			ScenarioDE:      "Sensor liefert Wert ausserhalb seines Messbereichs; Steuerungssoftware interpretiert ihn falsch.",
			TriggerDE:       "Sensor-Saettigung, Kabelbruch liefert Maximalwert, EMV-Stoerung, Sensor defekt",
			HarmDE:          "Falscher Regeleingriff, Sicherheitsgrenzwert wird nicht erkannt, unkontrollierter Prozess",
			AffectedDE:      "Bedienpersonal, Personen im Prozessbereich",
			ZoneDE:          "Sensorposition, gesamte Regelstrecke",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		{
			ID: "HP810", NameDE: "Aktor-Ansteuerung invertiert", NameEN: "Actuator control inverted",
			RequiredComponentTags: []string{"has_software", "moving_part"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault", "configuration_error"},
			SuggestedMeasureIDs:   []string{"M101", "M145"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              85,
			ScenarioDE:      "Aktor bewegt sich entgegengesetzt zur programmierten Richtung durch vertauschtes Vorzeichen in der Software.",
			TriggerDE:       "Programmierfehler, falsches Parametriervorzeichen, Kabelvertauschung nach Wartung",
			HarmDE:          "Kollision, Quetschung in unerwarteter Richtung, mechanische Zerstoerung",
			AffectedDE:      "Bedienpersonal, Einrichter bei Erstinbetriebnahme",
			ZoneDE:          "Gesamter Verfahrbereich des Aktors in beide Richtungen",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP811", NameDE: "Zeitstempel-Fehler fuehrt zu falscher Sequenz", NameEN: "Timestamp error causes wrong sequence",
			RequiredComponentTags: []string{"has_software", "networked"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M040", "M106", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              70,
			ScenarioDE:      "Fehlerhafte Zeitstempel fuehren dazu, dass Prozessschritte in falscher Reihenfolge ausgefuehrt werden.",
			TriggerDE:       "Zeitsynchronisation verloren, NTP-Ausfall, Uhrendrift zwischen Steuerungen",
			HarmDE:          "Ablaufsequenz vertauscht, Werkzeugwechsel vor Spindelstopp, Presse schliesst vor Teileentnahme",
			AffectedDE:      "Bedienpersonal",
			ZoneDE:          "Alle sequenzgesteuerten Stationen und Achsen",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP812", NameDE: "Buffer Overflow in Steuerungssoftware", NameEN: "Buffer overflow in controller software",
			RequiredComponentTags: []string{"has_software"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M111", "M107", "M188", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14", "E16"},
			Priority:              85,
			ScenarioDE:      "Pufferueberlauf in der Steuerungssoftware ueberschreibt angrenzende Speicherbereiche und fuehrt zu undefiniertem Verhalten.",
			TriggerDE:       "Zu langer Eingabestring, fehlende Laengenpruefung, manipulierte Kommunikation",
			HarmDE:          "Absturz der Steuerung, Ausfuehrung von Schadcode, Verlust der Sicherheitslogik",
			AffectedDE:      "Bedienpersonal, IT-Sicherheitsverantwortliche",
			ZoneDE:          "Steuerungshardware, Sicherheits-SPS, Kommunikationsschnittstellen",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP813", NameDE: "Unbehandelte Exception stoppt Steuerung", NameEN: "Unhandled exception stops controller",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"software_fault"},
			SuggestedMeasureIDs:   []string{"M107", "M105", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14"},
			Priority:              80,
			ScenarioDE:      "Nicht abgefangene Programmausnahme fuehrt zum Absturz der Steuerung ohne geordnete Abschaltung.",
			TriggerDE:       "Unerwarteter Eingabewert, Null-Pointer-Zugriff, Stack-Overflow in Rekursion",
			HarmDE:          "Sofortiger Steuerungsstillstand, Aktor bleibt in letzter Position, kein sicherer Zustand",
			AffectedDE:      "Bedienpersonal",
			ZoneDE:          "Gesamte Maschine (alle Funktionen fallen gleichzeitig aus)",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP814", NameDE: "Sicherheitsfunktion durch Software-Update deaktiviert", NameEN: "Safety function disabled by software update",
			RequiredComponentTags: []string{"has_software", "safety_device"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure", "update_failure"},
			SuggestedMeasureIDs:   []string{"M104", "M138", "M146"},
			SuggestedEvidenceIDs:  []string{"E01", "E07", "E08", "E14"},
			Priority:              95,
			RequiresExpertCalculation: true,
			ExpertHintDE: "Validierung aller Sicherheitsfunktionen nach jedem Software-Update gemaess IEC 62443 und EN ISO 13849 durchfuehren.",
			ScenarioDE:      "Software-Update deaktiviert versehentlich eine Sicherheitsfunktion oder aendert Sicherheitsparameter.",
			TriggerDE:       "Regression im Update, Sicherheitsmodul nicht im Testplan enthalten, Parameterueberschreibung",
			HarmDE:          "Sicherheitsfunktion fehlt unbemerkt, voller Zugang zum Gefahrenbereich bei laufender Maschine",
			AffectedDE:      "Bedienpersonal, alle Personen im Gefahrenbereich",
			ZoneDE:          "Alle Schutzbereiche, die von der betroffenen Sicherheitsfunktion abgedeckt werden",
			DefaultSeverity: 5, DefaultExposure: 1,
		},

		// ================================================================
		// Cyber-Security (HP815-HP829)
		// ================================================================
		{
			ID: "HP815", NameDE: "Ransomware stoppt Produktionsanlage", NameEN: "Ransomware stops production plant",
			RequiredComponentTags: []string{"networked", "has_software"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M116", "M140"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E19"},
			Priority:              90,
			ScenarioDE:      "Ransomware verschluesselt Steuerungsdaten und HMI-Systeme; Produktion steht still, Notbetrieb erforderlich.",
			TriggerDE:       "Phishing-Email an Leitstand-PC, USB-Stick mit Malware, fehlende Netzwerksegmentierung",
			HarmDE:          "Produktionsausfall, bei fehlender Notsteuerung unkontrollierter Prozesszustand, wirtschaftlicher Schaden",
			AffectedDE:      "Bedienpersonal (Blindflug ohne HMI), IT-Verantwortliche, Produktionsleitung",
			ZoneDE:          "Gesamte Produktionsanlage, HMI-Stationen, Leitstand",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP816", NameDE: "Unbefugter Fernzugriff auf Steuerung", NameEN: "Unauthorized remote access to controller",
			RequiredComponentTags: []string{"networked", "has_software"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M112", "M113"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E17"},
			Priority:              95,
			ScenarioDE:      "Angreifer erlangt Fernzugriff auf die SPS und kann Maschinenparameter und Sicherheitsgrenzen veraendern.",
			TriggerDE:       "VPN-Schwachstelle, offener Fernwartungszugang, gestohlene Zugangsdaten",
			HarmDE:          "Manipulation von Sicherheitsgrenzen, unkontrollierte Maschinenbewegung, Sabotage",
			AffectedDE:      "Bedienpersonal, gesamte Produktionsumgebung",
			ZoneDE:          "Fernzugangspunkte, VPN-Gateways, Remote-Desktop-Verbindungen zur Steuerung",
			DefaultSeverity: 5, DefaultExposure: 2,
		},
		{
			ID: "HP817", NameDE: "Man-in-the-Middle auf PROFINET", NameEN: "Man-in-the-middle on PROFINET",
			RequiredComponentTags: []string{"networked", "it_component"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access", "communication_failure"},
			SuggestedMeasureIDs:   []string{"M111", "M113", "M114"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E17"},
			Priority:              85,
			ScenarioDE:      "Angreifer schaltet sich in die PROFINET-Kommunikation zwischen SPS und Antrieb ein und manipuliert Sollwerte.",
			TriggerDE:       "Physischer Zugang zum Netzwerk, ARP-Spoofing, unverschluesselte Feldbus-Kommunikation",
			HarmDE:          "Falsche Sollwerte an Antriebe, manipulierte Istwerte an SPS, verdeckte Sabotage",
			AffectedDE:      "Bedienpersonal (bemerkt Manipulation nicht), IT-Sicherheitsverantwortliche",
			ZoneDE:          "PROFINET-Netzwerk, Switches, Patchpanels, Netzwerkdosen in der Produktion",
			DefaultSeverity: 5, DefaultExposure: 1,
		},
		{
			ID: "HP818", NameDE: "USB-Stick mit Malware an HMI", NameEN: "USB stick with malware on HMI",
			RequiredComponentTags: []string{"has_software", "user_interface"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M116"},
			SuggestedEvidenceIDs:  []string{"E01", "E16"},
			Priority:              80,
			ScenarioDE:      "Kompromittierter USB-Stick wird an das HMI oder den Leitstand-PC angeschlossen und infiziert das OT-Netzwerk.",
			TriggerDE:       "Bediener nutzt privaten USB-Stick, Servicetechniker bringt infizierten Stick mit",
			HarmDE:          "Malware-Infektion des Steuerungsnetzwerks, Datenexfiltration, Produktionsstoerung",
			AffectedDE:      "Bedienpersonal, IT/OT-Verantwortliche",
			ZoneDE:          "HMI-Terminals, Leitstand-PC, alle USB-Schnittstellen in der Produktion",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP819", NameDE: "Denial-of-Service auf OPC-UA Server", NameEN: "Denial-of-service on OPC-UA server",
			RequiredComponentTags: []string{"networked", "it_component"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"communication_failure"},
			SuggestedMeasureIDs:   []string{"M111", "M114", "M115"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E17"},
			Priority:              80,
			ScenarioDE:      "Gezielte Ueberlastung des OPC-UA Servers fuehrt zum Verlust der Prozessvisualisierung und -steuerung.",
			TriggerDE:       "Flut von Anfragen an den OPC-UA Endpoint, ungesicherte Discovery-Schnittstelle",
			HarmDE:          "Verlust der Prozessueberwachung, Bediener kann nicht eingreifen, Blindflug",
			AffectedDE:      "Bedienpersonal am Leitstand, SCADA-Betreiber",
			ZoneDE:          "OPC-UA Server, SCADA-System, Leitstand",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		{
			ID: "HP820", NameDE: "Default-Passwort nicht geaendert", NameEN: "Default password not changed",
			RequiredComponentTags: []string{"networked"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M112"},
			SuggestedEvidenceIDs:  []string{"E01", "E16"},
			Priority:              85,
			ScenarioDE:      "Steuerungskomponente wird mit Werks-Standardpasswort betrieben; Angreifer erlangt mit oeffentlich bekanntem Passwort Zugriff.",
			TriggerDE:       "Inbetriebnahme ohne Passwortwechsel, Handbuch online verfuegbar, Shodan-Suche",
			HarmDE:          "Vollzugriff auf Steuerung, Manipulation von Parametern und Sicherheitsfunktionen",
			AffectedDE:      "Bedienpersonal, gesamte Anlage",
			ZoneDE:          "Login-Seite des Controllers, Web-Interface, Telnet/SSH-Zugang",
			DefaultSeverity: 4, DefaultExposure: 3,
		},
		{
			ID: "HP821", NameDE: "Unverschluesselte Kommunikation SPS-HMI", NameEN: "Unencrypted communication PLC-HMI",
			RequiredComponentTags: []string{"networked", "has_software"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M113"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E17"},
			Priority:              75,
			ScenarioDE:      "Kommunikation zwischen SPS und HMI erfolgt im Klartext; Angreifer kann Daten mitlesen und manipulieren.",
			TriggerDE:       "Legacy-Protokoll ohne Verschluesselung, fehlende TLS-Konfiguration, Modbus/TCP ohne Security",
			HarmDE:          "Abfangen von Prozessdaten, Einschleusung falscher Sollwerte, Industriespionage",
			AffectedDE:      "Bedienpersonal, Betriebsgeheimnisse",
			ZoneDE:          "Netzwerkstrecke SPS-HMI, Switches, Patchfelder",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		{
			ID: "HP822", NameDE: "Firmware-Manipulation ueber Netzwerk", NameEN: "Firmware manipulation via network",
			RequiredComponentTags: []string{"has_software", "networked"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"firmware_corruption"},
			SuggestedMeasureIDs:   []string{"M116", "M138", "M146"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E18"},
			Priority:              90,
			ScenarioDE:      "Angreifer laedt manipulierte Firmware ueber das Netzwerk auf Steuerungskomponente und deaktiviert Sicherheitsgrenzen.",
			TriggerDE:       "Fehlende Firmware-Signierung, offener Update-Port, kein Authentifizierungsmechanismus",
			HarmDE:          "Verdeckte Deaktivierung von Sicherheitsfunktionen, langfristige Kompromittierung",
			AffectedDE:      "Bedienpersonal, gesamte Anlage",
			ZoneDE:          "Steuerungshardware, Antriebsregler, Sicherheits-SPS, IoT-Gateways",
			DefaultSeverity: 5, DefaultExposure: 1,
		},
		{
			ID: "HP823", NameDE: "Insider-Bedrohung durch verargerten Mitarbeiter", NameEN: "Insider threat by disgruntled employee",
			RequiredComponentTags: []string{"has_software", "programmable"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M112", "M142"},
			SuggestedEvidenceIDs:  []string{"E01", "E16"},
			Priority:              80,
			ScenarioDE:      "Mitarbeiter mit privilegiertem Zugang manipuliert absichtlich Steuerungsparameter oder Sicherheitsgrenzen.",
			TriggerDE:       "Kuendigung, Konflikt, fehlende Zugriffsrechte-Entzug, kein Four-Eyes-Prinzip",
			HarmDE:          "Gezielte Sabotage, Deaktivierung von Schutzfunktionen, Gefaehrdung von Kollegen",
			AffectedDE:      "Bedienpersonal, Kollegen des Insiders",
			ZoneDE:          "Alle Steuerungszugaenge, HMI, Engineering-Station",
			DefaultSeverity: 5, DefaultExposure: 1,
		},
		{
			ID: "HP824", NameDE: "Supply-Chain-Angriff auf Steuerungskomponente", NameEN: "Supply chain attack on control component",
			RequiredComponentTags: []string{"it_component", "has_software"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"unauthorized_access", "firmware_corruption"},
			SuggestedMeasureIDs:   []string{"M186", "M188", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E18", "E19"},
			Priority:              75,
			ScenarioDE:      "Kompromittierte Hardware oder Software wird ueber die Lieferkette in die Anlage eingebracht.",
			TriggerDE:       "Manipuliertes Ersatzteil, kompromittierter Open-Source-Baustein, gefaelschte Firmware vom Zulieferer",
			HarmDE:          "Verdeckte Hintertuer, langfristige Kompromittierung, schwer detektierbar",
			AffectedDE:      "Gesamte Anlage, alle Nutzer der kompromittierten Komponente",
			ZoneDE:          "Alle IT-Komponenten in der Anlage (SPS, IPC, Switches, Sensoren)",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP825", NameDE: "Social Engineering verschafft Zugang zur Steuerung", NameEN: "Social engineering gains access to control system",
			RequiredComponentTags: []string{"networked"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M112"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E24"},
			Priority:              75,
			ScenarioDE:      "Angreifer taeuscht Identitaet eines Servicetechnikers vor und erhaelt physischen oder logischen Zugang zur Steuerung.",
			TriggerDE:       "Fehlende Identitaetspruefung, Servicetechniker-Ausweis nicht verifiziert, Phishing-Anruf",
			HarmDE:          "Einschleusung von Malware, Manipulation der Steuerung, Datendiebstahl",
			AffectedDE:      "Bedienpersonal, IT-Sicherheitsverantwortliche",
			ZoneDE:          "Produktionshalle, Leitstand, Serverraum, VPN-Zugaenge",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP826", NameDE: "Fehlende Netzwerksegmentierung OT/IT", NameEN: "Missing network segmentation OT/IT",
			RequiredComponentTags: []string{"networked", "it_component"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M113", "M140"},
			SuggestedEvidenceIDs:  []string{"E01", "E16", "E17"},
			Priority:              85,
			ScenarioDE:      "OT-Netzwerk (Maschinensteuerung) und IT-Netzwerk (Buero) sind nicht getrennt; Angriff aus dem Bueonetz erreicht SPS.",
			TriggerDE:       "Flache Netzwerktopologie, fehlende Firewall zwischen IT und OT, gemeinsames VLAN",
			HarmDE:          "Laterale Bewegung von Malware in die Produktion, Ransomware erreicht SPS",
			AffectedDE:      "Bedienpersonal, gesamte Produktion",
			ZoneDE:          "Netzwerk-Uebergangspunkte IT/OT, gemeinsame Switches, SCADA-DMZ",
			DefaultSeverity: 4, DefaultExposure: 3,
		},
		{
			ID: "HP827", NameDE: "Veraltete Software mit bekannten Schwachstellen", NameEN: "Outdated software with known vulnerabilities",
			RequiredComponentTags: []string{"has_software"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M188", "M186", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E18", "E19"},
			Priority:              80,
			ScenarioDE:      "Steuerungssoftware oder Betriebssystem wird nicht gepatcht; bekannte CVEs sind ausnutzbar.",
			TriggerDE:       "Kein Patch-Management fuer OT, Hersteller liefert keine Updates, Angst vor Produktionsstoerung",
			HarmDE:          "Ausnutzung bekannter Schwachstellen, Uebernahme der Steuerung durch Exploit",
			AffectedDE:      "Bedienpersonal, IT-Sicherheitsverantwortliche, gesamte Anlage",
			ZoneDE:          "Alle ungepatchten Systeme (HMI-PCs, SPS-Firmware, SCADA-Server)",
			DefaultSeverity: 4, DefaultExposure: 3,
		},
		{
			ID: "HP828", NameDE: "Backup-Manipulation verfaelscht Wiederherstellung", NameEN: "Backup manipulation falsifies recovery",
			RequiredComponentTags: []string{"has_software", "it_component"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"firmware_corruption"},
			SuggestedMeasureIDs:   []string{"M186", "M188", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E16"},
			Priority:              70,
			ScenarioDE:      "Angreifer manipuliert Backup-Daten; bei Wiederherstellung wird kompromittierte Konfiguration eingespielt.",
			TriggerDE:       "Zugriff auf Backup-Server, fehlende Integritaetspruefung, Backup auf unsicherem Medium",
			HarmDE:          "Manipulierte Steuerungsparameter nach Restore, verdeckte Hintertuer in Backup",
			AffectedDE:      "Wartungspersonal bei Restore, anschliessend Bedienpersonal",
			ZoneDE:          "Backup-Server, Engineering-Station, Restore-Prozedur",
			DefaultSeverity: 4, DefaultExposure: 1,
		},
		{
			ID: "HP829", NameDE: "Ungesicherte WLAN-Verbindung zur Maschinensteuerung", NameEN: "Unsecured WiFi connection to machine control",
			RequiredComponentTags: []string{"wireless", "networked"},
			RequiredEnergyTags:    []string{"cyber"},
			GeneratedHazardCats:   []string{"unauthorized_access"},
			SuggestedMeasureIDs:   []string{"M111", "M113", "M140"},
			SuggestedEvidenceIDs:  []string{"E01", "E16"},
			Priority:              85,
			ScenarioDE:      "WLAN-Zugangspunkt zur Maschinensteuerung ist unverschluesselt oder nutzt schwache Verschluesselung (WEP/WPA).",
			TriggerDE:       "Standard-WLAN-Konfiguration nicht geaendert, WPA2-Passwort weitergegeben, Rogue Access Point",
			HarmDE:          "Uebernahme der Steuerung aus der Ferne, Man-in-the-Middle auf WLAN-Strecke",
			AffectedDE:      "Bedienpersonal, gesamte Anlage im WLAN-Bereich",
			ZoneDE:          "WLAN-Abdeckungsbereich, HMI-Tablets, IoT-Sensoren",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
	}
}
