feat: IACE CE-Compliance Module — Normen, Risikobewertung, Production Lines

Major features:
- 215 norms library with section references + Beuth URLs (A/B1/B2/C norms)
- 173 hazard patterns with detail fields (scenario, trigger, harm, zone)
- Deterministic pattern matching: Component × Lifecycle × Pattern cross-product
- SIL/PL auto-calculation from S×E×P risk graph
- Risk assessment table with editable S/E/P dropdowns
- Production Line Dashboard with animated station flow (Running Dots)
- IACE process flow + norms coverage on start page
- Non-blocking cookie banner, ProcessFlow SSR fix
- 104 Playwright E2E tests passing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-07 10:53:26 +02:00
parent 3853a0838a
commit e7f2f98da3
59 changed files with 8326 additions and 525 deletions
@@ -0,0 +1,82 @@
package iace
// builtinAIPatterns returns HP040-HP044: AI-specific hazard patterns.
func builtinAIPatterns() []HazardPattern {
return []HazardPattern{
{
ID: "HP040", NameDE: "KI-Fehlklassifikation", NameEN: "AI misclassification",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification"},
SuggestedMeasureIDs: []string{"M101", "M102"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 90,
ScenarioDE: "KI-Modell klassifiziert Objekt oder Zustand falsch und loest darauf basierend eine gefaehrliche Aktion aus.",
TriggerDE: "Fehlklassifikation durch untypische Eingangsdaten, unzureichendes Training oder Randbedingung ausserhalb der Trainingsdaten.",
HarmDE: "Fehlgesteuerte Aktion (z.B. Roboter greift falsch, Qualitaetskontrolle laesst Fehlteil durch).",
AffectedDE: "Bedienpersonal, Personen im Arbeitsbereich des KI-gesteuerten Systems",
ZoneDE: "Wirkbereich des KI-gesteuerten Aktors, Klassifikationszone",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP041", NameDE: "Model Drift / Concept Drift", NameEN: "Model drift / concept drift",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"model_drift"},
SuggestedMeasureIDs: []string{"M103"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 85,
ScenarioDE: "KI-Modell verliert ueber Zeit an Genauigkeit, weil sich Eingangsdaten schleichend veraendern.",
TriggerDE: "Veraenderung der Produktionsbedingungen (Material, Beleuchtung, Verschleiss) ohne Re-Training des Modells.",
HarmDE: "Zunehmende Fehlentscheidungen, nicht erkannte Defekte, unbemerkte Qualitaetsverschlechterung.",
AffectedDE: "Bedienpersonal, Endnutzer der Produkte",
ZoneDE: "Alle Bereiche, in denen KI-Entscheidungen Aktionen ausloesen",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP042", NameDE: "Data Poisoning / Adversarial Attack", NameEN: "Data poisoning / adversarial attack",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"cyber", "ai_model"},
GeneratedHazardCats: []string{"data_poisoning"},
SuggestedMeasureIDs: []string{"M101", "M116"},
SuggestedEvidenceIDs: []string{"E01", "E15", "E16"},
Priority: 85,
ScenarioDE: "Angreifer manipuliert Trainingsdaten oder Eingangssignale, um das KI-Modell gezielt zu taeuschen.",
TriggerDE: "Einschleusen manipulierter Daten in den Trainingsprozess oder Adversarial Patches an Sensoren.",
HarmDE: "Gezielte Fehlentscheidung des KI-Systems, Umgehung von Sicherheitspruefungen.",
AffectedDE: "Bedienpersonal, alle vom KI-System abhaengigen Personen",
ZoneDE: "Datenpipeline, Trainingsinfrastruktur, Sensor-Eingaenge, Kamerasichtfeld",
DefaultSeverity: 4, DefaultExposure: 1,
},
{
ID: "HP043", NameDE: "Unbeabsichtigte KI-Diskriminierung", NameEN: "Unintended AI bias",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"unintended_bias"},
SuggestedMeasureIDs: []string{"M101"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 75,
ScenarioDE: "KI-Modell trifft systematisch ungleiche Entscheidungen fuer bestimmte Personengruppen oder Bedingungen.",
TriggerDE: "Verzerrung (Bias) in den Trainingsdaten oder Underrepresentation bestimmter Szenarien.",
HarmDE: "Diskriminierende Behandlung, inkonsistente Sicherheitsniveaus fuer verschiedene Nutzergruppen.",
AffectedDE: "Personen mit unterrepraesentierten Merkmalen, Bediener verschiedener Erfahrungsstufen",
ZoneDE: "Alle Entscheidungspunkte des KI-Systems",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP044", NameDE: "KI-Sensormanipulation", NameEN: "AI sensor spoofing",
RequiredComponentTags: []string{"has_ai", "sensor_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"sensor_spoofing"},
SuggestedMeasureIDs: []string{"M101", "M102"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 80,
ScenarioDE: "Sensor, der KI-Eingangsdaten liefert, wird manipuliert oder liefert durch Verschmutzung/Defekt falsche Werte.",
TriggerDE: "Ueberkleben eines Kamerasensors, EMV-Stoerung eines Radarsensors oder gezielte optische Taeuschung.",
HarmDE: "KI trifft Entscheidung auf Basis falscher Sensorwerte, gefaehrliche Aktion bei Personenpraesenz.",
AffectedDE: "Bedienpersonal, Personen im Sensorerfassungsbereich",
ZoneDE: "Sensorerfassungsbereich, Kamerasichtfeld, Radar-/Lidar-Abdeckungszone",
DefaultSeverity: 4, DefaultExposure: 2,
},
}
}