Files
Benjamin Admin c7651796c9
All checks were successful
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 36s
CI/CD / test-python-backend-compliance (push) Successful in 36s
CI/CD / test-python-document-crawler (push) Successful in 22s
CI/CD / test-python-dsms-gateway (push) Successful in 18s
CI/CD / validate-canonical-controls (push) Successful in 12s
CI/CD / Deploy (push) Successful in 2s
feat(iace): integrate ISO 12100 machine risk model with 4-factor assessment
Add dual-mode risk engine: legacy S×E×P (avoidance=0) and ISO mode S×F×P×A
(avoidance>=1) with new thresholds (low/medium/high/very_high/not_acceptable).

- 150+ hazard library entries across 28 categories incl. physical hazards
  (mechanical, electrical, thermal, pneumatic/hydraulic, noise/vibration,
  ergonomic, material/environmental)
- 160-entry protective measures library with 3-step hierarchy validation
  (design → protective → information)
- 25 lifecycle phases, 20 affected person roles, 50 evidence types
- 10 verification methods (expanded from 7)
- New API endpoints: lifecycle-phases, roles, evidence-types,
  protective-measures-library, validate-mitigation-hierarchy
- DB migrations 018+019 for extended schema
- Frontend: 4-slider risk assessment, hierarchy warnings, measures library modal
- MkDocs wiki updated with ISO mode docs and legal notice (no norm text)

All content uses original wording — norms referenced as methodology only.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 23:13:41 +01:00

3149 lines
197 KiB
Go
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package iace
import (
"encoding/json"
"fmt"
"time"
"github.com/google/uuid"
)
// hazardUUID generates a deterministic UUID for a hazard library entry
// based on category and a 1-based index within that category.
func hazardUUID(category string, index int) uuid.UUID {
name := fmt.Sprintf("iace.hazard.%s.%d", category, index)
return uuid.NewSHA1(uuid.NameSpaceDNS, []byte(name))
}
// mustMarshalJSON marshals the given value to json.RawMessage, panicking on error.
// This is safe to use for static data known at compile time.
func mustMarshalJSON(v interface{}) json.RawMessage {
data, err := json.Marshal(v)
if err != nil {
panic(fmt.Sprintf("hazard_library: failed to marshal JSON: %v", err))
}
return data
}
// GetBuiltinHazardLibrary returns the complete built-in hazard library with 40+
// template entries for SW/FW/KI hazards in industrial machines. These entries are
// intended to be seeded into the iace_hazard_library table during initial setup.
//
// All entries have IsBuiltin=true and TenantID=nil (system-level templates).
// UUIDs are deterministic, generated via uuid.NewSHA1 based on category and index.
func GetBuiltinHazardLibrary() []HazardLibraryEntry {
now := time.Now()
entries := []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,
},
// ====================================================================
// 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,
},
}
// ====================================================================
// Neue Kategorien (extended library ~100 neue Eintraege)
// ====================================================================
extended := []HazardLibraryEntry{
// ====================================================================
// Category: software_fault (10 entries)
// ====================================================================
{
ID: hazardUUID("software_fault", 1),
Category: "software_fault",
Name: "Race Condition in Sicherheitsfunktion",
Description: "Zwei Tasks greifen ohne Synchronisation auf gemeinsame Ressourcen zu, was zu unvorhersehbarem Verhalten in sicherheitsrelevanten Funktionen fuehren kann.",
DefaultSeverity: 5,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"EU 2023/1230 Anhang I §1.2", "IEC 62304", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Mutex/Semaphor", "RTOS-Task-Prioritaeten", "WCET-Analyse"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 2),
Category: "software_fault",
Name: "Stack Overflow in Echtzeit-Task",
Description: "Ein rekursiver Aufruf oder grosse lokale Variablen fuehren zum Stack-Ueberlauf, was Safety-Tasks zum Absturz bringt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Stack-Groessen-Analyse", "Stack-Guard", "Statische Code-Analyse"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 3),
Category: "software_fault",
Name: "Integer Overflow in Sicherheitsberechnung",
Description: "Arithmetischer Ueberlauf bei der Berechnung sicherheitskritischer Grenzwerte fuehrt zu falschen Ergebnissen und unkontrolliertem Verhalten.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "MISRA-C", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Datentyp-Pruefung", "Overflow-Detection", "MISRA-C-Analyse"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 4),
Category: "software_fault",
Name: "Deadlock zwischen Safety-Tasks",
Description: "Gegenseitige Sperrung von Tasks durch zyklische Ressourcenabhaengigkeiten verhindert die Ausfuehrung sicherheitsrelevanter Funktionen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Ressourcen-Hierarchie", "Watchdog", "Deadlock-Analyse"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 5),
Category: "software_fault",
Name: "Memory Leak im Langzeitbetrieb",
Description: "Nicht freigegebener Heap-Speicher akkumuliert sich ueber Zeit, bis das System abstuerzt und Sicherheitsfunktionen nicht mehr verfuegbar sind.",
DefaultSeverity: 3,
DefaultProbability: 4,
ApplicableComponentTypes: []string{"software"},
RegulationReferences: []string{"IEC 62304", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Memory-Profiling", "Valgrind", "Statisches Speichermanagement"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 6),
Category: "software_fault",
Name: "Null-Pointer-Dereferenz in Safety-Code",
Description: "Zugriff auf einen Null-Zeiger fuehrt zu einem undefinierten Systemzustand oder Absturz des sicherheitsrelevanten Software-Moduls.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "MISRA-C"},
SuggestedMitigations: mustMarshalJSON([]string{"Null-Check vor Zugriff", "Statische Analyse", "Defensiv-Programmierung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 7),
Category: "software_fault",
Name: "Unbehandelte Ausnahme in Safety-Code",
Description: "Eine nicht abgefangene Ausnahme bricht die Ausfuehrung des sicherheitsrelevanten Codes ab und hinterlaesst das System in einem undefinierten Zustand.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software"},
RegulationReferences: []string{"IEC 62304", "IEC 61508"},
SuggestedMitigations: mustMarshalJSON([]string{"Globaler Exception-Handler", "Exception-Safety-Analyse", "Fail-Safe-Rueckfall"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 8),
Category: "software_fault",
Name: "Korrupte Konfigurationsdaten",
Description: "Beschaedigte oder unvollstaendige Konfigurationsdaten werden ohne Validierung geladen und fuehren zu falschem Systemverhalten.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Konfig-Validierung", "CRC-Pruefung", "Fallback-Konfiguration"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 9),
Category: "software_fault",
Name: "Division durch Null in Regelkreis",
Description: "Ein Divisor im sicherheitsrelevanten Regelkreis erreicht den Wert Null, was zu einem Laufzeitfehler oder undefiniertem Ergebnis fuehrt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "IEC 61508", "MISRA-C"},
SuggestedMitigations: mustMarshalJSON([]string{"Vorbedingungspruefung", "Statische Analyse", "Defensiv-Programmierung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("software_fault", 10),
Category: "software_fault",
Name: "Falscher Safety-Parameter durch Software-Bug",
Description: "Ein Software-Fehler setzt einen sicherheitsrelevanten Parameter auf einen falschen Wert, ohne dass eine Plausibilitaetspruefung dies erkennt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "IEC 61508", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Parametervalidierung", "Redundante Speicherung", "Diversitaere Pruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: hmi_error (8 entries)
// ====================================================================
{
ID: hazardUUID("hmi_error", 1),
Category: "hmi_error",
Name: "Falsche Einheitendarstellung",
Description: "Das HMI zeigt Werte in einer falschen Masseinheit an (z.B. mm statt inch), was zu Fehlbedienung und Maschinenfehlern fuehren kann.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III", "EN ISO 9241"},
SuggestedMitigations: mustMarshalJSON([]string{"Einheiten-Label im UI", "Lokalisierungstests", "Einheiten-Konvertierungspruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 2),
Category: "hmi_error",
Name: "Fehlender oder stummer Sicherheitsalarm",
Description: "Ein kritisches Sicherheitsereignis wird dem Bediener nicht oder nicht rechtzeitig angezeigt, weil die Alarmfunktion deaktiviert oder fehlerhaft ist.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "EN ISO 9241"},
SuggestedMitigations: mustMarshalJSON([]string{"Alarmtest im Rahmen der Inbetriebnahme", "Akustischer Backup-Alarm", "Alarmverwaltungssystem"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 3),
Category: "hmi_error",
Name: "Sprachfehler in Bedienoberflaeche",
Description: "Fehlerhafte oder mehrdeutige Bezeichnungen in der Benutzersprache fuehren zu Fehlbedienung sicherheitsrelevanter Funktionen.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"},
SuggestedMitigations: mustMarshalJSON([]string{"Usability-Test", "Lokalisierungs-Review", "Mehrsprachige Dokumentation"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 4),
Category: "hmi_error",
Name: "Fehlende Eingabevalidierung im HMI",
Description: "Das HMI akzeptiert ausserhalb des gueltigen Bereichs liegende Eingaben ohne Warnung und leitet sie an die Steuerung weiter.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"},
SuggestedMitigations: mustMarshalJSON([]string{"Grenzwertpruefung", "Eingabemaske mit Bereichen", "Warnung bei Grenzwertnaehe"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 5),
Category: "hmi_error",
Name: "Defekter Statusindikator",
Description: "Ein LED, Anzeigeelement oder Softwaresymbol zeigt einen falschen Systemstatus an und verleitet den Bediener zu falschen Annahmen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"},
SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige HMI-Tests", "Selbsttest beim Einschalten", "Redundante Statusanzeige"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 6),
Category: "hmi_error",
Name: "Quittierung ohne Ursachenbehebung",
Description: "Der Bediener kann einen Sicherheitsalarm quittieren, ohne die zugrundeliegende Ursache behoben zu haben, was das Risiko wiederkehrender Ereignisse erhoet.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Ursachen-Checkliste vor Quittierung", "Pflicht-Ursachen-Eingabe", "Audit-Log der Quittierungen"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 7),
Category: "hmi_error",
Name: "Veraltete Anzeige durch Caching-Fehler",
Description: "Die HMI-Anzeige wird nicht aktualisiert und zeigt veraltete Sensorwerte oder Zustaende an, was zu Fehlentscheidungen fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"},
SuggestedMitigations: mustMarshalJSON([]string{"Timestamp-Anzeige", "Refresh-Watchdog", "Verbindungsstatus-Indikator"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("hmi_error", 8),
Category: "hmi_error",
Name: "Fehlende Betriebsart-Kennzeichnung",
Description: "Die aktive Betriebsart (Automatik, Einrichten, Wartung) ist im HMI nicht eindeutig sichtbar, was zu unerwarteten Maschinenbewegungen fuehren kann.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"hmi", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Dauerhafte Betriebsart-Anzeige", "Farbliche Kennzeichnung", "Bestaetigung bei Modewechsel"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: mechanical_hazard (6 entries)
// ====================================================================
{
ID: hazardUUID("mechanical_hazard", 1),
Category: "mechanical_hazard",
Name: "Unerwarteter Anlauf nach Spannungsausfall",
Description: "Nach Wiederkehr der Versorgungsspannung laeuft die Maschine unerwartet an, ohne dass eine Startfreigabe durch den Bediener erfolgt ist.",
DefaultSeverity: 5,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "firmware"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.2.6", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Anlaufschutz", "Anti-Restart-Funktion", "Sicherheitsrelais"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 2),
Category: "mechanical_hazard",
Name: "Restenergie nach Abschalten",
Description: "Gespeicherte kinetische oder potentielle Energie (z.B. Schwungmasse, abgesenktes Werkzeug) wird nach dem Abschalten nicht sicher abgebaut.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"actuator", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Energieabbau-Prozedur", "Mechanische Haltevorrichtung", "LOTO-Freischaltung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 3),
Category: "mechanical_hazard",
Name: "Unerwartete Maschinenbewegung",
Description: "Die Maschine fuehrt eine unkontrollierte Bewegung durch (z.B. Antrieb faehrt ohne Kommando los), was Personen im Gefahrenbereich verletzt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"actuator", "controller", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"Safe Torque Off (STO)", "Geschwindigkeitsueberwachung", "Schutzzaun-Sensorik"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 4),
Category: "mechanical_hazard",
Name: "Teileauswurf durch Fehlfunktion",
Description: "Werkzeuge, Werkstuecke oder Maschinenteile werden bei einer Fehlfunktion unkontrolliert aus der Maschine geschleudert.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"actuator", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.2"},
SuggestedMitigations: mustMarshalJSON([]string{"Trennende Schutzeinrichtung", "Sicherheitsglas", "Spannkraft-Ueberwachung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 5),
Category: "mechanical_hazard",
Name: "Quetschstelle durch fehlende Schutzeinrichtung",
Description: "Zwischen beweglichen und festen Maschinenteilen entstehen Quetschstellen, die bei fehlendem Schutz zu schweren Verletzungen fuehren koennen.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.7", "ISO 13857"},
SuggestedMitigations: mustMarshalJSON([]string{"Schutzverkleidung", "Sicherheitsabstaende nach ISO 13857", "Lichtvorhang"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 6),
Category: "mechanical_hazard",
Name: "Instabile Struktur unter Last",
Description: "Die Maschinenstruktur oder ein Anbauteil versagt unter statischer oder dynamischer Belastung und gefaehrdet Personen in der Naehe.",
DefaultSeverity: 5,
DefaultProbability: 1,
ApplicableComponentTypes: []string{"other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.1"},
SuggestedMitigations: mustMarshalJSON([]string{"Festigkeitsberechnung", "Ueberlastsicherung", "Regelmaessige Inspektion"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: electrical_hazard (6 entries)
// ====================================================================
{
ID: hazardUUID("electrical_hazard", 1),
Category: "electrical_hazard",
Name: "Elektrischer Schlag an Bedienpanel",
Description: "Bediener kommen mit spannungsfuehrenden Teilen in Beruehrung, z.B. durch defekte Gehaeuseerdung oder fehlerhafte Isolierung.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"hmi", "controller"},
RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Schutzkleinspannung (SELV)", "Schutzerdung", "Isolationsmonitoring"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 2),
Category: "electrical_hazard",
Name: "Lichtbogen durch Schaltfehler",
Description: "Ein Schaltfehler erzeugt einen Lichtbogen, der Bediener verletzen, Geraete beschaedigen oder einen Brand ausloesen kann.",
DefaultSeverity: 5,
DefaultProbability: 1,
ApplicableComponentTypes: []string{"controller"},
RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Lichtbogenschutz-Schalter", "Kurzschlussschutz", "Geeignete Schaltgeraete"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 3),
Category: "electrical_hazard",
Name: "Kurzschluss durch Isolationsfehler",
Description: "Beschaedigte Kabelisolierungen fuehren zu einem Kurzschluss, der Feuer ausloesen oder Sicherheitsfunktionen ausser Betrieb setzen kann.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"network", "controller"},
RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Isolationsueberwachung", "Kabelschutz", "Regelmaessige Sichtpruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 4),
Category: "electrical_hazard",
Name: "Erdschluss in Steuerkreis",
Description: "Ein Erdschluss im Steuerkreis kann unbeabsichtigte Schaltzustaende ausloesen und Sicherheitsfunktionen beeinflussen.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller", "network"},
RegulationReferences: []string{"IEC 60204-1", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Erdschluss-Monitoring", "IT-Netz fuer Steuerkreise", "Regelmaessige Pruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 5),
Category: "electrical_hazard",
Name: "Gespeicherte Energie in Kondensatoren",
Description: "Nach dem Abschalten verbleiben hohe Spannungen in Kondensatoren (z.B. Frequenzumrichter, USV), was bei Wartungsarbeiten gefaehrlich ist.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller"},
RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Entladewartezeit", "Automatische Entladeschaltung", "Warnhinweise am Geraet"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 6),
Category: "electrical_hazard",
Name: "Elektromagnetische Kopplung auf Safety-Leitung",
Description: "Hochfrequente Stoerfelder koppeln auf ungeschirmte Safety-Leitungen und erzeugen Falschsignale, die Sicherheitsfunktionen fehl ausloesen.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"network", "sensor"},
RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"Geschirmte Kabel", "Raeumliche Trennung", "EMV-Pruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: thermal_hazard (4 entries)
// ====================================================================
{
ID: hazardUUID("thermal_hazard", 1),
Category: "thermal_hazard",
Name: "Ueberhitzung der Steuereinheit",
Description: "Die Steuereinheit ueberschreitet die zulaessige Betriebstemperatur durch Lueftungsausfall oder hohe Umgebungstemperatur, was zu Fehlfunktionen fuehrt.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "firmware"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068"},
SuggestedMitigations: mustMarshalJSON([]string{"Temperaturueberwachung", "Redundante Lueftung", "Thermisches Abschalten"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 2),
Category: "thermal_hazard",
Name: "Brandgefahr durch Leistungselektronik",
Description: "Defekte Leistungshalbleiter oder Kondensatoren in der Leistungselektronik erwaermen sich unkontrolliert und koennen einen Brand ausloesen.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller"},
RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Thermosicherungen", "Temperatursensoren", "Brandschutzmassnahmen"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 3),
Category: "thermal_hazard",
Name: "Einfrieren bei Tieftemperatur",
Description: "Sehr tiefe Umgebungstemperaturen fuehren zum Einfrieren von Hydraulikleitungen oder Elektronik und damit zum Ausfall von Sicherheitsfunktionen.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068"},
SuggestedMitigations: mustMarshalJSON([]string{"Heizung", "Mindestbetriebstemperatur definieren", "Temperatursensor"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 4),
Category: "thermal_hazard",
Name: "Waermestress an Kabelisolierung",
Description: "Langfristige Einwirkung hoher Temperaturen auf Kabelisolierungen fuehrt zu Alterung und Isolationsversagen mit Kurzschlussrisiko.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"network", "controller"},
RegulationReferences: []string{"IEC 60204-1", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Hitzebestaendige Kabel (z.B. PTFE)", "Kabelverlegung mit Abstand zur Waermequelle", "Regelmaessige Inspektion"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: emc_hazard (5 entries)
// ====================================================================
{
ID: hazardUUID("emc_hazard", 1),
Category: "emc_hazard",
Name: "EMV-Stoerabstrahlung auf Safety-Bus",
Description: "Hohe elektromagnetische Stoerabstrahlung aus benachbarten Geraeten stoert den industriellen Safety-Bus (z.B. PROFIsafe) und erzeugt Kommunikationsfehler.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"network", "controller"},
RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 62061", "IEC 61784-3"},
SuggestedMitigations: mustMarshalJSON([]string{"EMV-gerechte Verkabelung", "Schirmung", "EMC-Pruefung nach EN 55011"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("emc_hazard", 2),
Category: "emc_hazard",
Name: "Unbeabsichtigte elektromagnetische Abstrahlung",
Description: "Die Maschine selbst strahlt starke EM-Felder ab, die andere sicherheitsrelevante Einrichtungen in der Naehe stoeren.",
DefaultSeverity: 2,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "actuator"},
RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU"},
SuggestedMitigations: mustMarshalJSON([]string{"EMV-Filter", "Gehaeuseabschirmung", "CE-Zulassung Frequenzumrichter"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("emc_hazard", 3),
Category: "emc_hazard",
Name: "Frequenzumrichter-Stoerung auf Steuerleitung",
Description: "Der Frequenzumrichter erzeugt hochfrequente Stoerungen, die auf benachbarte Steuerleitungen koppeln und falsche Signale erzeugen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"actuator", "network"},
RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 60204-1"},
SuggestedMitigations: mustMarshalJSON([]string{"Motorfilter", "Kabeltrennabstand", "Separate Kabelkanaele"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("emc_hazard", 4),
Category: "emc_hazard",
Name: "ESD-Schaden an Elektronik",
Description: "Elektrostatische Entladung bei Wartung oder Austausch beschaedigt empfindliche Elektronikbauteile, was zu latenten Fehlfunktionen fuehrt.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "firmware"},
RegulationReferences: []string{"IEC 61000-4-2", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"ESD-Schulung", "ESD-Schutzausruestung", "ESD-gerechte Verpackung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("emc_hazard", 5),
Category: "emc_hazard",
Name: "HF-Stoerung des Sicherheitssensors",
Description: "Hochfrequenz-Stoerquellen (z.B. Schweissgeraete, Mobiltelefone) beeinflussen die Funktion von Sicherheitssensoren (Lichtvorhang, Scanner).",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"sensor"},
RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 61496"},
SuggestedMitigations: mustMarshalJSON([]string{"EMV-zertifizierte Sicherheitssensoren", "HF-Quellen trennen", "Gegensprechanlagenverbot in Gefahrenzone"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: configuration_error (8 entries)
// ====================================================================
{
ID: hazardUUID("configuration_error", 1),
Category: "configuration_error",
Name: "Falscher Safety-Parameter bei Inbetriebnahme",
Description: "Beim Einrichten werden sicherheitsrelevante Parameter (z.B. Maximalgeschwindigkeit, Abschaltgrenzen) falsch konfiguriert und nicht verifiziert.",
DefaultSeverity: 5,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"Parameterpruefung nach Inbetriebnahme", "4-Augen-Prinzip", "Parameterprotokoll in technischer Akte"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 2),
Category: "configuration_error",
Name: "Factory Reset loescht Sicherheitskonfiguration",
Description: "Ein Factory Reset setzt alle Parameter auf Werkseinstellungen zurueck, einschliesslich sicherheitsrelevanter Konfigurationen, ohne Warnung.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"firmware", "software"},
RegulationReferences: []string{"IEC 62304", "CRA", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Separate Safety-Partition", "Bestaetigung vor Reset", "Safety-Config vor Reset sichern"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 3),
Category: "configuration_error",
Name: "Fehlerhafte Parameter-Migration bei Update",
Description: "Beim Software-Update werden vorhandene Konfigurationsparameter nicht korrekt in das neue Format migriert, was zu falschen Systemeinstellungen fuehrt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "CRA"},
SuggestedMitigations: mustMarshalJSON([]string{"Migrations-Skript-Tests", "Konfig-Backup vor Update", "Post-Update-Verifikation"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 4),
Category: "configuration_error",
Name: "Konflikthafte redundante Einstellungen",
Description: "Widersprüchliche Parameter in verschiedenen Konfigurationsdateien oder -ebenen fuehren zu unvorhersehbarem Systemverhalten.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Konfig-Validierung beim Start", "Einzelne Quelle fuer Safety-Params", "Konsistenzpruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 5),
Category: "configuration_error",
Name: "Hard-coded Credentials in Konfiguration",
Description: "Passwörter oder Schluessel sind fest im Code oder in Konfigurationsdateien hinterlegt und koennen nicht geaendert werden.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"CRA", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Secrets-Management", "Kein Hard-Coding", "Credential-Scan im CI"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 6),
Category: "configuration_error",
Name: "Debug-Modus in Produktionsumgebung aktiv",
Description: "Debug-Schnittstellen oder erhoehte Logging-Level sind in der Produktionsumgebung aktiv und ermoeglichen Angreifern Zugang zu sensiblen Systeminfos.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"CRA", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Build-Konfiguration pruefe Debug-Flag", "Produktions-Checkliste", "Debug-Port-Deaktivierung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 7),
Category: "configuration_error",
Name: "Out-of-Bounds-Eingabe ohne Validierung",
Description: "Nutzereingaben oder Schnittstellendaten werden ohne Bereichspruefung in sicherheitsrelevante Parameter uebernommen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "hmi"},
RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Eingabevalidierung", "Bereichsgrenzen definieren", "Sanity-Check"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("configuration_error", 8),
Category: "configuration_error",
Name: "Konfigurationsdatei nicht schreibgeschuetzt",
Description: "Sicherheitsrelevante Konfigurationsdateien koennen von unautorisierten Nutzern oder Prozessen veraendert werden.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "firmware"},
RegulationReferences: []string{"IEC 62443", "CRA"},
SuggestedMitigations: mustMarshalJSON([]string{"Dateisystem-Berechtigungen", "Code-Signing fuer Konfig", "Integritaetspruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: safety_function_failure (8 entries)
// ====================================================================
{
ID: hazardUUID("safety_function_failure", 1),
Category: "safety_function_failure",
Name: "Not-Halt trennt Energieversorgung nicht",
Description: "Der Not-Halt-Taster betaetigt die Sicherheitsschalter, die Energiezufuhr wird jedoch nicht vollstaendig unterbrochen, weil das Sicherheitsrelais versagt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.2.4", "IEC 60947-5-5", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessiger Not-Halt-Test", "Redundantes Sicherheitsrelais", "Selbstueberwachender Sicherheitskreis"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 2),
Category: "safety_function_failure",
Name: "Schutztuer-Monitoring umgangen",
Description: "Das Schutztuer-Positionssignal wird durch einen Fehler oder Manipulation als 'geschlossen' gemeldet, obwohl die Tuer offen ist.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"sensor", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 14119", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Zwangsöffnender Positionsschalter", "Codierter Sicherheitssensor", "Anti-Tamper-Masssnahmen"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 3),
Category: "safety_function_failure",
Name: "Safe Speed Monitoring fehlt",
Description: "Beim Einrichten im reduzierten Betrieb fehlt eine unabhaengige Geschwindigkeitsueberwachung, so dass der Bediener nicht ausreichend geschuetzt ist.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62061", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Sicherheitsumrichter mit SLS", "Unabhaengige Drehzahlmessung", "SIL-2-Geschwindigkeitsueberwachung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 4),
Category: "safety_function_failure",
Name: "STO-Funktion (Safe Torque Off) Fehler",
Description: "Die STO-Sicherheitsfunktion schaltet den Antriebsmoment nicht ab, obwohl die Funktion aktiviert wurde, z.B. durch Fehler im Sicherheits-SPS-Ausgang.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"actuator", "controller"},
RegulationReferences: []string{"IEC 61800-5-2", "Maschinenverordnung 2023/1230", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"STO-Pruefung bei Inbetriebnahme", "Pruefzyklus im Betrieb", "Zertifizierter Sicherheitsumrichter"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 5),
Category: "safety_function_failure",
Name: "Muting-Missbrauch bei Lichtvorhang",
Description: "Die Muting-Funktion des Lichtvorhangs wird durch Fehler oder Manipulation zu lange oder unkontrolliert aktiviert, was den Schutz aufhebt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"sensor", "controller"},
RegulationReferences: []string{"IEC 61496-3", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Zeitbegrenztes Muting", "Muting-Lampe und Alarm", "Protokollierung der Muting-Ereignisse"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 6),
Category: "safety_function_failure",
Name: "Zweihand-Taster durch Gegenstand ueberbrueckt",
Description: "Die Zweihand-Betaetigungseinrichtung wird durch ein eingeklemmtes Objekt permanent aktiviert, was den Bediener aus dem Schutzkonzept loest.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"hmi", "controller"},
RegulationReferences: []string{"ISO 13851", "Maschinenverordnung 2023/1230", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Anti-Tie-Down-Pruefung", "Typ-III-Zweihand-Taster", "Regelmaessige Funktionskontrolle"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 7),
Category: "safety_function_failure",
Name: "Sicherheitsrelais-Ausfall ohne Erkennung",
Description: "Ein Sicherheitsrelais versagt unentdeckt (z.B. verklebte Kontakte), sodass der Sicherheitskreis nicht mehr auftrennt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"controller"},
RegulationReferences: []string{"ISO 13849", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"Selbstueberwachung (zwangsgefuehrt)", "Regelmaessiger Testlauf", "Redundantes Relais"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("safety_function_failure", 8),
Category: "safety_function_failure",
Name: "Logic-Solver-Fehler in Sicherheits-SPS",
Description: "Die Sicherheitssteuerung (Safety-SPS) fuehrt sicherheitsrelevante Logik fehlerhaft aus, z.B. durch Speicherfehler oder Prozessorfehler.",
DefaultSeverity: 5,
DefaultProbability: 1,
ApplicableComponentTypes: []string{"controller", "software"},
RegulationReferences: []string{"IEC 61511", "IEC 61508", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"SIL-zertifizierte SPS", "Watchdog", "Selbsttest-Routinen (BIST)"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: logging_audit_failure (5 entries)
// ====================================================================
{
ID: hazardUUID("logging_audit_failure", 1),
Category: "logging_audit_failure",
Name: "Safety-Events nicht protokolliert",
Description: "Sicherheitsrelevante Ereignisse (Alarme, Not-Halt-Betaetigungen, Fehlerzustaende) werden nicht in ein Protokoll geschrieben.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62443", "CRA"},
SuggestedMitigations: mustMarshalJSON([]string{"Pflicht-Logging Safety-Events", "Unveraenderliches Audit-Log", "Log-Integritaetspruefung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("logging_audit_failure", 2),
Category: "logging_audit_failure",
Name: "Log-Manipulation moeglich",
Description: "Authentifizierte Benutzer oder Angreifer koennen Protokolleintraege aendern oder loeschen und so Beweise fuer Sicherheitsvorfaelle vernichten.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software"},
RegulationReferences: []string{"CRA", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Write-Once-Speicher", "Kryptografische Signaturen", "Externes Log-Management"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("logging_audit_failure", 3),
Category: "logging_audit_failure",
Name: "Log-Overflow ueberschreibt alte Eintraege",
Description: "Wenn der Log-Speicher voll ist, werden aeltere Eintraege ohne Warnung ueberschrieben, was eine lueckenlose Rueckverfolgung verhindert.",
DefaultSeverity: 3,
DefaultProbability: 4,
ApplicableComponentTypes: []string{"software", "controller"},
RegulationReferences: []string{"CRA", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Log-Kapazitaetsalarm", "Externes Log-System", "Zirkulaerpuffer mit Warnschwelle"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("logging_audit_failure", 4),
Category: "logging_audit_failure",
Name: "Fehlende Zeitstempel in Protokolleintraegen",
Description: "Log-Eintraege enthalten keine oder ungenaue Zeitstempel, was die zeitliche Rekonstruktion von Ereignissen bei der Fehlersuche verhindert.",
DefaultSeverity: 3,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "controller"},
RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"NTP-Synchronisation", "RTC im Geraet", "ISO-8601-Zeitstempel"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("logging_audit_failure", 5),
Category: "logging_audit_failure",
Name: "Audit-Trail loeschbar durch Bediener",
Description: "Der Audit-Trail kann von einem normalen Bediener geloescht werden, was die Nachvollziehbarkeit von Sicherheitsereignissen untergaebt.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software"},
RegulationReferences: []string{"CRA", "IEC 62443", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"RBAC: Nur Admin darf loeschen", "Log-Export vor Loeschung", "Unanderbare Log-Speicherung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: integration_error (8 entries)
// ====================================================================
{
ID: hazardUUID("integration_error", 1),
Category: "integration_error",
Name: "Datentyp-Mismatch an Schnittstelle",
Description: "Zwei Systeme tauschen Daten ueber eine Schnittstelle aus, die inkompatible Datentypen verwendet, was zu Interpretationsfehlern fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "network"},
RegulationReferences: []string{"IEC 62304", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Schnittstellendefinition (IDL/Protobuf)", "Integrationstests", "Datentypvalidierung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 2),
Category: "integration_error",
Name: "Endianness-Fehler bei Datenuebertragung",
Description: "Big-Endian- und Little-Endian-Systeme kommunizieren ohne Byte-Order-Konvertierung, was zu falsch interpretierten numerischen Werten fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "network"},
RegulationReferences: []string{"IEC 62304", "IEC 62443"},
SuggestedMitigations: mustMarshalJSON([]string{"Explizite Byte-Order-Definiton", "Integrationstests", "Schnittstellenspezifikation"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 3),
Category: "integration_error",
Name: "Protokoll-Versions-Konflikt",
Description: "Sender und Empfaenger verwenden unterschiedliche Protokollversionen, die nicht rueckwaertskompatibel sind, was zu Paketablehnung oder Fehlinterpretation fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "network", "firmware"},
RegulationReferences: []string{"IEC 62443", "CRA"},
SuggestedMitigations: mustMarshalJSON([]string{"Versions-Aushandlung beim Verbindungsaufbau", "Backward-Compatibilitaet", "Kompatibilitaets-Matrix"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 4),
Category: "integration_error",
Name: "Timeout nicht behandelt bei Kommunikation",
Description: "Eine Kommunikationsverbindung bricht ab oder antwortet nicht, der Sender erkennt dies nicht und wartet unendlich lang.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "network"},
RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"},
SuggestedMitigations: mustMarshalJSON([]string{"Timeout-Konfiguration", "Watchdog-Timer", "Fail-Safe bei Verbindungsverlust"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 5),
Category: "integration_error",
Name: "Buffer Overflow an Schnittstelle",
Description: "Eine Schnittstelle akzeptiert Eingaben, die groesser als der zugewiesene Puffer sind, was zu Speicher-Ueberschreibung und Kontrollfluss-Manipulation fuehrt.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "firmware", "network"},
RegulationReferences: []string{"CRA", "IEC 62443", "IEC 62304"},
SuggestedMitigations: mustMarshalJSON([]string{"Laengenvalidierung", "Sichere Puffer-Funktionen", "Statische Analyse (z.B. MISRA)"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 6),
Category: "integration_error",
Name: "Fehlender Heartbeat bei Safety-Verbindung",
Description: "Eine Safety-Kommunikationsverbindung sendet keinen periodischen Heartbeat, so dass ein stiller Ausfall (z.B. unterbrochenes Kabel) nicht erkannt wird.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"network", "software"},
RegulationReferences: []string{"IEC 61784-3", "ISO 13849", "IEC 62061"},
SuggestedMitigations: mustMarshalJSON([]string{"Heartbeat-Protokoll", "Verbindungsueberwachung", "Safe-State bei Heartbeat-Ausfall"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 7),
Category: "integration_error",
Name: "Falscher Skalierungsfaktor bei Sensordaten",
Description: "Sensordaten werden mit einem falschen Faktor skaliert, was zu signifikant fehlerhaften Messwerten und moeglichen Fehlentscheidungen fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"sensor", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"},
SuggestedMitigations: mustMarshalJSON([]string{"Kalibrierungspruefung", "Plausibilitaetstest", "Schnittstellendokumentation"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("integration_error", 8),
Category: "integration_error",
Name: "Einheitenfehler (mm vs. inch)",
Description: "Unterschiedliche Masseinheiten zwischen Systemen fuehren zu fehlerhaften Bewegungsbefehlen oder Werkzeugpositionierungen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"software", "hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"},
SuggestedMitigations: mustMarshalJSON([]string{"Explizite Einheitendefinition", "Einheitenkonvertierung in der Schnittstelle", "Integrationstests"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: environmental_hazard (5 entries)
// ====================================================================
{
ID: hazardUUID("environmental_hazard", 1),
Category: "environmental_hazard",
Name: "Ausfall durch hohe Umgebungstemperatur",
Description: "Hohe Umgebungstemperaturen ueberschreiten die spezifizierten Grenzwerte der Elektronik oder Aktorik und fuehren zu Fehlfunktionen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2"},
SuggestedMitigations: mustMarshalJSON([]string{"Betriebstemperatur-Spezifikation einhalten", "Klimaanlagensystem", "Temperatursensor + Abschaltung"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("environmental_hazard", 2),
Category: "environmental_hazard",
Name: "Ausfall bei Tieftemperatur",
Description: "Sehr tiefe Temperaturen reduzieren die Viskositaet von Hydraulikfluessigkeiten, beeinflussen Elektronik und fuehren zu mechanischen Ausfaellen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"actuator", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2"},
SuggestedMitigations: mustMarshalJSON([]string{"Tieftemperatur-spezifizierte Komponenten", "Heizung im Schaltschrank", "Anlaeufroutine bei Kaeltestart"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("environmental_hazard", 3),
Category: "environmental_hazard",
Name: "Korrosion durch Feuchtigkeit",
Description: "Hohe Luftfeuchtigkeit oder Kondenswasser fuehrt zur Korrosion von Kontakten und Leiterbahnen, was zu Ausfaellen und Isolationsfehlern fuehrt.",
DefaultSeverity: 3,
DefaultProbability: 4,
ApplicableComponentTypes: []string{"controller", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60529"},
SuggestedMitigations: mustMarshalJSON([]string{"IP-Schutz entsprechend der Umgebung", "Belueftung mit Filter", "Regelmaessige Inspektion"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("environmental_hazard", 4),
Category: "environmental_hazard",
Name: "Fehlfunktion durch Vibrationen",
Description: "Mechanische Vibrationen lockern Verbindungen, schuetteln Kontakte auf oder beschaedigen Loetpunkte in Elektronikbaugruppen.",
DefaultSeverity: 4,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2-6"},
SuggestedMitigations: mustMarshalJSON([]string{"Vibrationsdaempfung", "Vergossene Elektronik", "Regelmaessige Verbindungskontrolle"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("environmental_hazard", 5),
Category: "environmental_hazard",
Name: "Kontamination durch Staub oder Fluessigkeiten",
Description: "Staub, Metallspaeene oder Kuehlmittel gelangen in das Gehaeuseinnere und fuehren zu Kurzschluessen, Isolationsfehlern oder Kuehlproblemen.",
DefaultSeverity: 3,
DefaultProbability: 4,
ApplicableComponentTypes: []string{"controller", "hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60529"},
SuggestedMitigations: mustMarshalJSON([]string{"Hohe IP-Schutzklasse", "Dichtungen regelmaessig pruefen", "Ueberdruck im Schaltschrank"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: maintenance_hazard (6 entries)
// ====================================================================
{
ID: hazardUUID("maintenance_hazard", 1),
Category: "maintenance_hazard",
Name: "Wartung ohne LOTO-Prozedur",
Description: "Wartungsarbeiten werden ohne korrekte Lockout/Tagout-Prozedur durchgefuehrt, sodass die Maschine waehrend der Arbeit anlaufen kann.",
DefaultSeverity: 5,
DefaultProbability: 3,
ApplicableComponentTypes: []string{"controller", "software"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3"},
SuggestedMitigations: mustMarshalJSON([]string{"LOTO-Funktion in Software", "Schulung", "Prozedur im Betriebshandbuch"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("maintenance_hazard", 2),
Category: "maintenance_hazard",
Name: "Fehlende LOTO-Funktion in Software",
Description: "Die Steuerungssoftware bietet keine Moeglichkeit, die Maschine fuer Wartungsarbeiten sicher zu sperren und zu verriegeln.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3"},
SuggestedMitigations: mustMarshalJSON([]string{"Software-LOTO implementieren", "Wartungsmodus mit Schluessel", "Energiesperrfunktion"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("maintenance_hazard", 3),
Category: "maintenance_hazard",
Name: "Wartung bei laufender Maschine",
Description: "Wartungsarbeiten werden an betriebener Maschine durchgefuehrt, weil kein erzwungener Wartungsmodus vorhanden ist.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Erzwungenes Abschalten fuer Wartungsmodus", "Schluesselschalter", "Schutzmassnahmen im Wartungsmodus"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("maintenance_hazard", 4),
Category: "maintenance_hazard",
Name: "Wartungs-Tool ohne Zugangskontrolle",
Description: "Ein Diagnose- oder Wartungswerkzeug ist ohne Authentifizierung zugaenglich und ermoeglicht die unbeaufsichtigte Aenderung von Sicherheitsparametern.",
DefaultSeverity: 4,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "hmi"},
RegulationReferences: []string{"IEC 62443", "CRA"},
SuggestedMitigations: mustMarshalJSON([]string{"Authentifizierung fuer Wartungs-Tools", "Rollenkonzept", "Audit-Log fuer Wartungszugriffe"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("maintenance_hazard", 5),
Category: "maintenance_hazard",
Name: "Unsichere Demontage gefaehrlicher Baugruppen",
Description: "Die Betriebsanleitung beschreibt nicht, wie gefaehrliche Baugruppen (z.B. Hochvolt, gespeicherte Energie) sicher demontiert werden.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.7.4"},
SuggestedMitigations: mustMarshalJSON([]string{"Detaillierte Demontageanleitung", "Warnhinweise an Geraet", "Schulung des Wartungspersonals"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("maintenance_hazard", 6),
Category: "maintenance_hazard",
Name: "Wiederanlauf nach Wartung ohne Freigabeprozedur",
Description: "Nach Wartungsarbeiten wird die Maschine ohne formelle Freigabeprozedur wieder in Betrieb genommen, was zu Verletzungen bei noch anwesendem Personal fuehren kann.",
DefaultSeverity: 5,
DefaultProbability: 2,
ApplicableComponentTypes: []string{"software", "hmi"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3", "ISO 13849"},
SuggestedMitigations: mustMarshalJSON([]string{"Software-Wiederanlauf-Freigabe", "Gefahrenbereich-Pruefung vor Anlauf", "Akustisches Warnsignal vor Anlauf"}),
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
}
entries = append(entries, extended...)
// ====================================================================
// ISO 12100 Machine Safety Hazard Extensions (~54 entries)
// ====================================================================
iso12100Entries := []HazardLibraryEntry{
// ====================================================================
// Category: mechanical_hazard (indices 7-20, 14 entries)
// ====================================================================
{
ID: hazardUUID("mechanical_hazard", 7),
Category: "mechanical_hazard",
SubCategory: "quetschgefahr",
Name: "Quetschgefahr durch gegenlaeufige Walzen",
Description: "Zwischen gegenlaeufig rotierenden Walzen entsteht ein Einzugspunkt, an dem Koerperteile oder Kleidung eingezogen und gequetscht werden koennen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Feststehende trennende Schutzeinrichtung am Walzeneinlauf", "Zweihandbedienung bei manueller Beschickung"}),
TypicalCauses: []string{"Fehlende Schutzabdeckung am Einzugspunkt", "Manuelle Materialzufuehrung ohne Hilfsmittel", "Wartung bei laufender Maschine"},
TypicalHarm: "Quetschverletzungen an Fingern, Haenden oder Armen bis hin zu Amputationen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"},
RecommendedMeasuresDesign: []string{"Mindestabstand zwischen Walzen groesser als 25 mm oder kleiner als 5 mm", "Einzugspunkt ausserhalb der Reichweite positionieren"},
RecommendedMeasuresTechnical: []string{"Schutzgitter mit Sicherheitsverriegelung", "Lichtschranke vor dem Einzugsbereich"},
RecommendedMeasuresInformation: []string{"Warnschilder am Einzugspunkt", "Betriebsanweisung zur sicheren Beschickung"},
SuggestedEvidence: []string{"Pruefbericht der Schutzeinrichtung", "Risikobeurteilung nach ISO 12100"},
RelatedKeywords: []string{"Walzen", "Einzugspunkt", "Quetschstelle"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 8),
Category: "mechanical_hazard",
SubCategory: "schergefahr",
Name: "Schergefahr an beweglichen Maschinenteilen",
Description: "Durch gegeneinander bewegte Maschinenteile entstehen Scherstellen, die zu schweren Schnitt- und Trennverletzungen fuehren koennen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Trennende Schutzeinrichtung an der Scherstelle", "Sicherheitsabstand nach ISO 13857"}),
TypicalCauses: []string{"Unzureichender Sicherheitsabstand", "Fehlende Schutzverkleidung", "Eingriff waehrend des Betriebs"},
TypicalHarm: "Schnitt- und Trennverletzungen an Fingern und Haenden",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Sicherheitsabstaende nach ISO 13857 einhalten", "Scherstellen konstruktiv vermeiden"},
RecommendedMeasuresTechnical: []string{"Verriegelte Schutzhauben", "Not-Halt in unmittelbarer Naehe"},
RecommendedMeasuresInformation: []string{"Gefahrenhinweis an Scherstellen", "Schulung der Bediener"},
SuggestedEvidence: []string{"Abstandsmessung gemaess ISO 13857", "Risikobeurteilung"},
RelatedKeywords: []string{"Scherstelle", "Gegenlaeufig", "Schneidgefahr"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 9),
Category: "mechanical_hazard",
SubCategory: "schneidgefahr",
Name: "Schneidgefahr durch rotierende Werkzeuge",
Description: "Rotierende Schneidwerkzeuge wie Fraeser, Saegeblaetter oder Messer koennen bei Kontakt schwere Schnittverletzungen verursachen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Vollstaendige Einhausung des Werkzeugs", "Automatische Werkzeugbremse bei Schutztueroeffnung"}),
TypicalCauses: []string{"Offene Schutzhaube waehrend des Betriebs", "Nachlauf des Werkzeugs nach Abschaltung", "Werkzeugbruch"},
TypicalHarm: "Tiefe Schnittwunden bis hin zu Gliedmassentrennung",
RelevantLifecyclePhases: []string{"normal_operation", "setup", "maintenance"},
RecommendedMeasuresDesign: []string{"Vollstaendige Einhausung mit Verriegelung", "Werkzeugbremse mit kurzer Nachlaufzeit"},
RecommendedMeasuresTechnical: []string{"Verriegelte Schutzhaube mit Zuhaltung", "Drehzahlueberwachung"},
RecommendedMeasuresInformation: []string{"Warnhinweis zur Nachlaufzeit", "Betriebsanweisung zum Werkzeugwechsel"},
SuggestedEvidence: []string{"Nachlaufzeitmessung", "Pruefbericht Schutzeinrichtung"},
RelatedKeywords: []string{"Fraeser", "Saegeblatt", "Schneidwerkzeug"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 10),
Category: "mechanical_hazard",
SubCategory: "einzugsgefahr",
Name: "Einzugsgefahr durch Foerderbaender",
Description: "An Umlenkrollen und Antriebstrommeln von Foerderbaendern bestehen Einzugsstellen, die Koerperteile oder Kleidung erfassen koennen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schutzverkleidung an Umlenkrollen", "Not-Halt-Reissleine entlang des Foerderbands"}),
TypicalCauses: []string{"Fehlende Abdeckung an Umlenkpunkten", "Reinigung bei laufendem Band", "Lose Kleidung des Personals"},
TypicalHarm: "Einzugsverletzungen an Armen und Haenden, Quetschungen",
RelevantLifecyclePhases: []string{"normal_operation", "cleaning", "maintenance"},
RecommendedMeasuresDesign: []string{"Umlenkrollen mit Schutzverkleidung", "Unterflur-Foerderung wo moeglich"},
RecommendedMeasuresTechnical: []string{"Not-Halt-Reissleine", "Bandschieflauf-Erkennung"},
RecommendedMeasuresInformation: []string{"Kleidervorschrift fuer Bedienpersonal", "Sicherheitsunterweisung"},
SuggestedEvidence: []string{"Pruefbericht der Schutzeinrichtungen", "Risikobeurteilung"},
RelatedKeywords: []string{"Foerderband", "Umlenkrolle", "Einzugsstelle"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 11),
Category: "mechanical_hazard",
SubCategory: "erfassungsgefahr",
Name: "Erfassungsgefahr durch rotierende Wellen",
Description: "Freiliegende rotierende Wellen, Kupplungen oder Zapfen koennen Kleidung oder Haare erfassen und Personen in die Drehbewegung hineinziehen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Vollstaendige Verkleidung rotierender Wellen", "Drehmomentbegrenzung"}),
TypicalCauses: []string{"Fehlende Wellenabdeckung", "Lose Kleidungsstuecke", "Wartung bei laufender Welle"},
TypicalHarm: "Erfassungsverletzungen mit Knochenbruechen, Skalpierungen oder toedlichem Ausgang",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Wellen vollstaendig einhausen", "Kupplungen mit Schutzhuelsen"},
RecommendedMeasuresTechnical: []string{"Verriegelte Schutzabdeckung", "Stillstandsueberwachung fuer Wartungszugang"},
RecommendedMeasuresInformation: []string{"Kleiderordnung ohne lose Teile", "Warnschilder an Wellenabdeckungen"},
SuggestedEvidence: []string{"Inspektionsbericht Wellenabdeckungen", "Risikobeurteilung"},
RelatedKeywords: []string{"Welle", "Kupplung", "Erfassung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 12),
Category: "mechanical_hazard",
SubCategory: "stossgefahr",
Name: "Stossgefahr durch pneumatische/hydraulische Zylinder",
Description: "Schnell ausfahrende Pneumatik- oder Hydraulikzylinder koennen Personen stossen oder einklemmen, insbesondere bei unerwartetem Anlauf.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Geschwindigkeitsbegrenzung durch Drosselventile", "Schutzeinrichtung im Bewegungsbereich"}),
TypicalCauses: []string{"Fehlende Endlagendaempfung", "Unerwarteter Druckaufbau", "Aufenthalt im Bewegungsbereich"},
TypicalHarm: "Prellungen, Knochenbrueche, Einklemmverletzungen",
RelevantLifecyclePhases: []string{"normal_operation", "setup", "maintenance"},
RecommendedMeasuresDesign: []string{"Endlagendaempfung vorsehen", "Zylindergeschwindigkeit begrenzen"},
RecommendedMeasuresTechnical: []string{"Lichtvorhang im Bewegungsbereich", "Druckspeicher-Entlastungsventil"},
RecommendedMeasuresInformation: []string{"Kennzeichnung des Bewegungsbereichs", "Betriebsanweisung"},
SuggestedEvidence: []string{"Geschwindigkeitsmessung", "Risikobeurteilung"},
RelatedKeywords: []string{"Zylinder", "Pneumatik", "Stossgefahr"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 13),
Category: "mechanical_hazard",
SubCategory: "herabfallende_teile",
Name: "Herabfallende Teile aus Werkstueckhalterung",
Description: "Unzureichend gesicherte Werkstuecke oder Werkzeuge koennen sich aus der Halterung loesen und herabfallen.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Spannkraftueberwachung der Halterung", "Schutzdach ueber dem Bedienerbereich"}),
TypicalCauses: []string{"Unzureichende Spannkraft", "Vibration lockert die Halterung", "Falsches Werkstueck-Spannmittel"},
TypicalHarm: "Kopfverletzungen, Prellungen, Quetschungen durch herabfallende Teile",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Spannkraftueberwachung mit Abschaltung", "Auffangvorrichtung unter Werkstueck"},
RecommendedMeasuresTechnical: []string{"Sensor zur Spannkraftueberwachung", "Schutzhaube"},
RecommendedMeasuresInformation: []string{"Pruefanweisung vor Bearbeitungsstart", "Schutzhelmpflicht im Gefahrenbereich"},
SuggestedEvidence: []string{"Pruefprotokoll Spannmittel", "Risikobeurteilung"},
RelatedKeywords: []string{"Werkstueck", "Spannmittel", "Herabfallen"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 14),
Category: "mechanical_hazard",
SubCategory: "wegschleudern",
Name: "Wegschleudern von Bruchstuecken bei Werkzeugversagen",
Description: "Bei Werkzeugbruch koennen Bruchstuecke mit hoher Geschwindigkeit weggeschleudert werden und Personen im Umfeld verletzen.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Splitterschutzscheibe aus Polycarbonat", "Regelmae­ssige Werkzeuginspektion"}),
TypicalCauses: []string{"Werkzeugverschleiss", "Ueberschreitung der zulaessigen Drehzahl", "Materialfehler im Werkzeug"},
TypicalHarm: "Durchdringende Verletzungen durch Bruchstuecke, Augenverletzungen",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Splitterschutz in der Einhausung", "Drehzahlbegrenzung des Werkzeugs"},
RecommendedMeasuresTechnical: []string{"Unwuchtueberwachung", "Brucherkennungssensor"},
RecommendedMeasuresInformation: []string{"Maximaldrehzahl am Werkzeug kennzeichnen", "Schutzbrillenpflicht"},
SuggestedEvidence: []string{"Bersttest der Einhausung", "Werkzeuginspektionsprotokoll"},
RelatedKeywords: []string{"Werkzeugbruch", "Splitter", "Schleudern"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 15),
Category: "mechanical_hazard",
SubCategory: "instabilitaet",
Name: "Instabilitaet der Maschine durch fehlendes Fundament",
Description: "Eine unzureichend verankerte oder falsch aufgestellte Maschine kann kippen oder sich verschieben, insbesondere bei dynamischen Kraeften.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Fundamentberechnung und Verankerung", "Standsicherheitsnachweis"}),
TypicalCauses: []string{"Fehlende Bodenverankerung", "Ungeeigneter Untergrund", "Erhoehte dynamische Lasten"},
TypicalHarm: "Quetschverletzungen durch kippende Maschine, Sachschaeden",
RelevantLifecyclePhases: []string{"installation", "normal_operation", "transport"},
RecommendedMeasuresDesign: []string{"Niedriger Schwerpunkt der Maschine", "Befestigungspunkte im Maschinenrahmen"},
RecommendedMeasuresTechnical: []string{"Bodenverankerung mit Schwerlastduebeln", "Nivellierelemente mit Kippsicherung"},
RecommendedMeasuresInformation: []string{"Aufstellanleitung mit Fundamentplan", "Hinweis auf maximale Bodenbelastung"},
SuggestedEvidence: []string{"Standsicherheitsnachweis", "Fundamentplan"},
RelatedKeywords: []string{"Fundament", "Standsicherheit", "Kippen"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 16),
Category: "mechanical_hazard",
SubCategory: "wiederanlauf",
Name: "Unkontrollierter Wiederanlauf nach Energieunterbruch",
Description: "Nach einem Stromausfall oder Druckabfall kann die Maschine unkontrolliert wieder anlaufen und Personen im Gefahrenbereich verletzen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical", "controller", "electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Wiederanlaufsperre nach Energierueckkehr", "Quittierungspflichtiger Neustart"}),
TypicalCauses: []string{"Fehlende Wiederanlaufsperre", "Stromausfall mit anschliessendem automatischem Neustart", "Druckaufbau nach Leckagereparatur"},
TypicalHarm: "Verletzungen durch unerwartete Maschinenbewegung bei Wiederanlauf",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "fault_finding"},
RecommendedMeasuresDesign: []string{"Wiederanlaufsperre in der Steuerung", "Energiespeicher sicher entladen"},
RecommendedMeasuresTechnical: []string{"Schaltschuetz mit Selbsthaltung", "Druckschalter mit Ruecksetzbedingung"},
RecommendedMeasuresInformation: []string{"Hinweis auf Wiederanlaufverhalten", "Verfahrensanweisung nach Energieausfall"},
SuggestedEvidence: []string{"Funktionstest Wiederanlaufsperre", "Risikobeurteilung"},
RelatedKeywords: []string{"Wiederanlauf", "Stromausfall", "Anlaufsperre"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 17),
Category: "mechanical_hazard",
SubCategory: "reibungsgefahr",
Name: "Reibungsgefahr an rauen Oberflaechen",
Description: "Raue, scharfkantige oder gratbehaftete Maschinenoberlaechen koennen bei Kontakt zu Hautabschuerfungen und Schnittverletzungen fuehren.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Entgraten aller zugaenglichen Kanten", "Schutzhandschuhe fuer Bedienpersonal"}),
TypicalCauses: []string{"Nicht entgratete Schnittkanten", "Korrosionsraue Oberflaechen", "Verschleissbedingter Materialabtrag"},
TypicalHarm: "Hautabschuerfungen, Schnittverletzungen an Haenden und Armen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"},
RecommendedMeasuresDesign: []string{"Kanten brechen oder abrunden", "Glatte Oberflaechen an Kontaktstellen"},
RecommendedMeasuresTechnical: []string{"Kantenschutzprofile anbringen"},
RecommendedMeasuresInformation: []string{"Hinweis auf scharfe Kanten", "Handschuhpflicht in der Betriebsanweisung"},
SuggestedEvidence: []string{"Oberflaechenpruefung", "Risikobeurteilung"},
RelatedKeywords: []string{"Grat", "Scharfkantig", "Oberflaeche"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 18),
Category: "mechanical_hazard",
SubCategory: "hochdruckstrahl",
Name: "Fluessigkeitshochdruckstrahl",
Description: "Hochdruckstrahlen aus Hydraulik-, Kuehl- oder Reinigungssystemen koennen Haut durchdringen und schwere Gewebeschaeden verursachen.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Abschirmung von Hochdruckleitungen", "Regelmae­ssige Leitungsinspektion"}),
TypicalCauses: []string{"Leitungsbruch unter Hochdruck", "Undichte Verschraubungen", "Alterung von Schlauchleitungen"},
TypicalHarm: "Hochdruckinjektionsverletzungen, Gewebsnekrose",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Schlauchbruchsicherungen einbauen", "Leitungen ausserhalb des Aufenthaltsbereichs verlegen"},
RecommendedMeasuresTechnical: []string{"Druckabschaltung bei Leitungsbruch", "Schutzblechverkleidung"},
RecommendedMeasuresInformation: []string{"Warnhinweis an Hochdruckleitungen", "Prueffristen fuer Schlauchleitungen"},
SuggestedEvidence: []string{"Druckpruefprotokoll", "Inspektionsbericht Schlauchleitungen"},
RelatedKeywords: []string{"Hochdruck", "Hydraulikleitung", "Injection"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 19),
Category: "mechanical_hazard",
SubCategory: "federelemente",
Name: "Gefahr durch federgespannte Elemente",
Description: "Unter Spannung stehende Federn oder elastische Elemente koennen bei unkontrolliertem Loesen Teile wegschleudern oder Personen verletzen.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Gesicherte Federentspannung vor Demontage", "Warnung bei vorgespannten Elementen"}),
TypicalCauses: []string{"Demontage ohne vorherige Entspannung", "Materialermuedung der Feder", "Fehlende Kennzeichnung vorgespannter Elemente"},
TypicalHarm: "Verletzungen durch wegschleudernde Federelemente, Prellungen",
RelevantLifecyclePhases: []string{"maintenance", "decommissioning"},
RecommendedMeasuresDesign: []string{"Sichere Entspannungsmoeglichkeit vorsehen", "Federn mit Bruchsicherung"},
RecommendedMeasuresTechnical: []string{"Spezialwerkzeug zur Federentspannung"},
RecommendedMeasuresInformation: []string{"Kennzeichnung vorgespannter Elemente", "Wartungsanweisung mit Entspannungsprozedur"},
SuggestedEvidence: []string{"Wartungsanweisung", "Risikobeurteilung"},
RelatedKeywords: []string{"Feder", "Vorspannung", "Energiespeicher"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("mechanical_hazard", 20),
Category: "mechanical_hazard",
SubCategory: "schutztor",
Name: "Quetschgefahr im Schliessbereich von Schutztoren",
Description: "Automatisch schliessende Schutztore und -tueren koennen Personen im Schliessbereich einklemmen oder quetschen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schliess­kantensicherung mit Kontaktleiste", "Lichtschranke im Schliessbereich"}),
TypicalCauses: []string{"Fehlende Schliesskantensicherung", "Defekter Sensor", "Person im Schliessbereich nicht erkannt"},
TypicalHarm: "Quetschverletzungen an Koerper oder Gliedmassen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Schliess­kraftbegrenzung", "Reversierautomatik bei Hindernis"},
RecommendedMeasuresTechnical: []string{"Kontaktleiste an der Schliesskante", "Lichtschranke im Durchgangsbereich"},
RecommendedMeasuresInformation: []string{"Warnhinweis am Schutztor", "Automatik-Betrieb kennzeichnen"},
SuggestedEvidence: []string{"Schliesskraftmessung", "Funktionstest Reversierautomatik"},
RelatedKeywords: []string{"Schutztor", "Schliesskante", "Einklemmen"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: electrical_hazard (indices 7-10, 4 entries)
// ====================================================================
{
ID: hazardUUID("electrical_hazard", 7),
Category: "electrical_hazard",
SubCategory: "lichtbogen",
Name: "Lichtbogengefahr bei Schalthandlungen",
Description: "Beim Schalten unter Last kann ein Lichtbogen entstehen, der zu Verbrennungen und Augenschaeden fuehrt.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Lichtbogenschutzkleidung (PSA)", "Fernbediente Schaltgeraete"}),
TypicalCauses: []string{"Schalten unter Last", "Verschmutzte Kontakte", "Fehlbedienung bei Wartung"},
TypicalHarm: "Verbrennungen durch Lichtbogen, Augenschaeden, Druckwelle",
RelevantLifecyclePhases: []string{"maintenance", "fault_finding"},
RecommendedMeasuresDesign: []string{"Lasttrennschalter mit Lichtbogenkammer", "Beruerungs­sichere Klemmleisten"},
RecommendedMeasuresTechnical: []string{"Lichtbogen-Erkennungssystem", "Fernausloesemoeglich­keit"},
RecommendedMeasuresInformation: []string{"PSA-Pflicht bei Schalthandlungen", "Schaltbefugnisregelung"},
SuggestedEvidence: []string{"Lichtbogenberechnung", "PSA-Ausstattungsnachweis"},
RelatedKeywords: []string{"Lichtbogen", "Schalthandlung", "Arc Flash"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 8),
Category: "electrical_hazard",
SubCategory: "ueberstrom",
Name: "Ueberstrom durch Kurzschluss",
Description: "Ein Kurzschluss kann zu extrem hohen Stroemen fuehren, die Leitungen ueberhitzen, Braende ausloesen und Bauteile zerstoeren.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Selektive Absicherung mit Schmelzsicherungen", "Kurzschlussberechnung und Abschaltzeit­nachweis"}),
TypicalCauses: []string{"Beschaedigte Leitungsisolierung", "Feuchtigkeitseintritt", "Fehlerhafte Verdrahtung"},
TypicalHarm: "Brandgefahr, Zerstoerung elektrischer Betriebsmittel",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "installation"},
RecommendedMeasuresDesign: []string{"Kurzschlussfeste Dimensionierung der Leitungen", "Selektive Schutzkoordination"},
RecommendedMeasuresTechnical: []string{"Leitungsschutzschalter", "Fehlerstrom-Schutzeinrichtung"},
RecommendedMeasuresInformation: []string{"Stromlaufplan aktuell halten", "Prueffristen fuer elektrische Anlage"},
SuggestedEvidence: []string{"Kurzschlussberechnung", "Pruefprotokoll nach DGUV V3"},
RelatedKeywords: []string{"Kurzschluss", "Ueberstrom", "Leitungsschutz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 9),
Category: "electrical_hazard",
SubCategory: "erdungsfehler",
Name: "Erdungsfehler im Schutzleitersystem",
Description: "Ein unterbrochener oder fehlerhafter Schutzleiter verhindert die sichere Ableitung von Fehlerstroemen und macht Gehaeuse spannungsfuehrend.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige Schutzleiterpruefung", "Fehlerstrom-Schutzschalter als Zusatzmassnahme"}),
TypicalCauses: []string{"Lose Schutzleiterklemme", "Korrosion an Erdungspunkten", "Vergessener Schutzleiteranschluss nach Wartung"},
TypicalHarm: "Elektrischer Schlag bei Beruehrung des Maschinengehaeuses",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "installation"},
RecommendedMeasuresDesign: []string{"Redundante Schutzleiteranschluesse", "Schutzleiter-Monitoring"},
RecommendedMeasuresTechnical: []string{"RCD-Schutzschalter 30 mA", "Isolationsueberwachung"},
RecommendedMeasuresInformation: []string{"Pruefplaketten an Schutzleiterpunkten", "Prueffrist 12 Monate"},
SuggestedEvidence: []string{"Schutzleitermessung", "Pruefprotokoll DGUV V3"},
RelatedKeywords: []string{"Schutzleiter", "Erdung", "Fehlerstrom"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("electrical_hazard", 10),
Category: "electrical_hazard",
SubCategory: "isolationsversagen",
Name: "Isolationsversagen in Hochspannungsbereich",
Description: "Alterung, Verschmutzung oder mechanische Beschaedigung der Isolierung in Hochspannungsbereichen kann zu Spannungsueberschlaegen und Koerperdurchstroemung fuehren.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Isolationswiderstandsmessung", "Spannungsfeste Einhausung"}),
TypicalCauses: []string{"Alterung der Isolierstoffe", "Mechanische Beschaedigung", "Verschmutzung und Feuchtigkeit"},
TypicalHarm: "Toedlicher Stromschlag, Verbrennungen durch Spannungsueberschlag",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Verstaerkte Isolierung in kritischen Bereichen", "Luftstrecken und Kriechstrecken einhalten"},
RecommendedMeasuresTechnical: []string{"Isolationsueberwachungsgeraet", "Verriegelter Zugang zum Hochspannungsbereich"},
RecommendedMeasuresInformation: []string{"Hochspannungswarnung", "Zutrittsregelung fuer Elektrofachkraefte"},
SuggestedEvidence: []string{"Isolationsmessprotokoll", "Pruefbericht Hochspannungsbereich"},
RelatedKeywords: []string{"Isolation", "Hochspannung", "Durchschlag"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: thermal_hazard (indices 5-8, 4 entries)
// ====================================================================
{
ID: hazardUUID("thermal_hazard", 5),
Category: "thermal_hazard",
SubCategory: "kaeltekontakt",
Name: "Kontakt mit kalten Oberflaechen (Kryotechnik)",
Description: "In kryotechnischen Anlagen oder Kuehlsystemen koennen extrem kalte Oberflaechen bei Beruehrung Kaelteverbrennungen verursachen.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Isolierung kalter Oberflaechen", "Kaelteschutzhandschuhe"}),
TypicalCauses: []string{"Fehlende Isolierung an Kryoleitungen", "Beruehrung tiefgekuehlter Bauteile", "Defekte Kaelteisolierung"},
TypicalHarm: "Kaelteverbrennungen an Haenden und Fingern",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Isolierung aller kalten Oberflaechen im Zugriffsbereich", "Abstandshalter zu Kryoleitungen"},
RecommendedMeasuresTechnical: []string{"Temperaturwarnung bei kritischen Oberflaechentemperaturen"},
RecommendedMeasuresInformation: []string{"Warnhinweis Kaeltegefahr", "PSA-Pflicht Kaelteschutz"},
SuggestedEvidence: []string{"Oberflaechentemperaturmessung", "Risikobeurteilung"},
RelatedKeywords: []string{"Kryotechnik", "Kaelte", "Kaelteverbrennung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 6),
Category: "thermal_hazard",
SubCategory: "waermestrahlung",
Name: "Waermestrahlung von Hochtemperaturprozessen",
Description: "Oefen, Giessereianlagen oder Waermebehandlungsprozesse emittieren intensive Waermestrahlung, die auch ohne direkten Kontakt zu Verbrennungen fuehren kann.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Waermeschutzschilder", "Hitzeschutzkleidung"}),
TypicalCauses: []string{"Offene Ofentuer bei Beschickung", "Fehlende Abschirmung", "Langzeitexposition in der Naehe von Waermequellen"},
TypicalHarm: "Hautverbrennungen durch Waermestrahlung, Hitzschlag",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Waermedaemmung und Strahlungsschilde", "Automatische Beschickung statt manueller"},
RecommendedMeasuresTechnical: []string{"Waermestrahlung-Sensor mit Warnung", "Luftschleier vor Ofenoeeffnungen"},
RecommendedMeasuresInformation: []string{"Maximalaufenthaltsdauer festlegen", "Hitzeschutz-PSA vorschreiben"},
SuggestedEvidence: []string{"Waermestrahlungsmessung am Arbeitsplatz", "Risikobeurteilung"},
RelatedKeywords: []string{"Waermestrahlung", "Ofen", "Hitzeschutz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 7),
Category: "thermal_hazard",
SubCategory: "brandgefahr",
Name: "Brandgefahr durch ueberhitzte Antriebe",
Description: "Ueberlastete oder schlecht gekuehlte Elektromotoren und Antriebe koennen sich so stark erhitzen, dass umgebende Materialien entzuendet werden.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"actuator", "electrical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Temperatursensor am Motor", "Thermischer Motorschutz"}),
TypicalCauses: []string{"Dauerbetrieb ueber Nennlast", "Blockierter Kuehlluftstrom", "Defektes Motorlager erhoecht Reibung"},
TypicalHarm: "Brand mit Sachschaeden und Personengefaehrdung durch Rauchentwicklung",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Thermische Motorschutzdimensionierung", "Brandschottung um Antriebsbereich"},
RecommendedMeasuresTechnical: []string{"PTC-Temperaturfuehler im Motor", "Rauchmelder im Antriebsbereich"},
RecommendedMeasuresInformation: []string{"Wartungsintervalle fuer Kuehlluftwege", "Brandschutzordnung"},
SuggestedEvidence: []string{"Temperaturmessung unter Last", "Brandschutzkonzept"},
RelatedKeywords: []string{"Motorueberhitzung", "Brand", "Thermischer Schutz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("thermal_hazard", 8),
Category: "thermal_hazard",
SubCategory: "heisse_fluessigkeiten",
Name: "Verbrennungsgefahr durch heisse Fluessigkeiten",
Description: "Heisse Prozessfluessigkeiten, Kuehlmittel oder Dampf koennen bei Leckage oder beim Oeffnen von Verschluessen Verbruehungen verursachen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Druckentlastung vor dem Oeffnen", "Spritzschutz an Leitungsverbindungen"}),
TypicalCauses: []string{"Oeffnen von Verschluessen unter Druck", "Schlauchbruch bei heissem Medium", "Spritzer beim Nachfuellen"},
TypicalHarm: "Verbruehungen an Haut und Augen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Druckentlastungsventil vor Verschluss", "Isolierte Leitungsfuehrung"},
RecommendedMeasuresTechnical: []string{"Temperaturanzeige an kritischen Punkten", "Auffangwannen unter Leitungsverbindungen"},
RecommendedMeasuresInformation: []string{"Warnhinweis heisse Fluessigkeit", "Abkuehlprozedur in Betriebsanweisung"},
SuggestedEvidence: []string{"Temperaturmessung am Austritt", "Risikobeurteilung"},
RelatedKeywords: []string{"Verbruehung", "Heisse Fluessigkeit", "Dampf"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: pneumatic_hydraulic (indices 1-10, 10 entries)
// ====================================================================
{
ID: hazardUUID("pneumatic_hydraulic", 1),
Category: "pneumatic_hydraulic",
SubCategory: "druckverlust",
Name: "Unkontrollierter Druckverlust in pneumatischem System",
Description: "Ein ploetzlicher Druckabfall im Pneumatiksystem kann zum Versagen von Halte- und Klemmfunktionen fuehren, wodurch Werkstuecke herabfallen oder Achsen absacken.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Rueckschlagventile in Haltezylinderleitungen", "Druckueberwachung mit sicherer Abschaltung"}),
TypicalCauses: []string{"Kompressorausfall", "Leckage in der Versorgungsleitung", "Fehlerhaftes Druckregelventil"},
TypicalHarm: "Quetschverletzungen durch absackende Achsen oder herabfallende Werkstuecke",
RelevantLifecyclePhases: []string{"normal_operation", "fault_finding"},
RecommendedMeasuresDesign: []string{"Mechanische Haltebremsen als Rueckfallebene", "Rueckschlagventile in sicherheitsrelevanten Leitungen"},
RecommendedMeasuresTechnical: []string{"Druckwaechter mit sicherer Reaktion", "Druckspeicher fuer Notbetrieb"},
RecommendedMeasuresInformation: []string{"Warnung bei Druckabfall", "Verfahrensanweisung fuer Druckausfall"},
SuggestedEvidence: []string{"Druckabfalltest", "Risikobeurteilung"},
RelatedKeywords: []string{"Druckverlust", "Pneumatik", "Haltefunktion"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 2),
Category: "pneumatic_hydraulic",
SubCategory: "druckfreisetzung",
Name: "Ploetzliche Druckfreisetzung bei Leitungsbruch",
Description: "Ein Bersten oder Abreissen einer Druckleitung setzt schlagartig Energie frei, wobei Medien und Leitungsbruchstuecke weggeschleudert werden.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schlauchbruchsicherungen", "Druckfeste Leitungsverlegung"}),
TypicalCauses: []string{"Materialermuedung der Leitung", "Ueberdruckbetrieb", "Mechanische Beschaedigung der Leitung"},
TypicalHarm: "Verletzungen durch weggeschleuderte Leitungsteile und austretende Druckmedien",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Berstdruckfest dimensionierte Leitungen", "Leitungen in Schutzrohren verlegen"},
RecommendedMeasuresTechnical: []string{"Durchflussbegrenzer nach Druckquelle", "Schlauchbruchventile"},
RecommendedMeasuresInformation: []string{"Prueffristen fuer Druckleitungen", "Warnhinweis an Hochdruckbereichen"},
SuggestedEvidence: []string{"Druckpruefprotokoll", "Inspektionsbericht Leitungen"},
RelatedKeywords: []string{"Leitungsbruch", "Druckfreisetzung", "Bersten"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 3),
Category: "pneumatic_hydraulic",
SubCategory: "schlauchpeitschen",
Name: "Schlauchpeitschen durch Berstversagen",
Description: "Ein unter Druck stehender Schlauch kann bei Versagen unkontrolliert umherschlagen und Personen im Umfeld treffen.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Fangseile an Schlauchleitungen", "Schlauchbruchventile"}),
TypicalCauses: []string{"Alterung des Schlauchmaterials", "Knicke in der Schlauchfuehrung", "Falsche Schlauchtype fuer das Medium"},
TypicalHarm: "Peitschenverletzungen, Prellungen, Augenverletzungen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Fangseile oder Ketten an allen Schlauchleitungen", "Festverrohrung statt Schlauch wo moeglich"},
RecommendedMeasuresTechnical: []string{"Schlauchbruchventil am Anschluss"},
RecommendedMeasuresInformation: []string{"Tauschintervalle fuer Schlauchleitungen", "Kennzeichnung mit Herstelldatum"},
SuggestedEvidence: []string{"Schlauchleitungspruefprotokoll", "Risikobeurteilung"},
RelatedKeywords: []string{"Schlauch", "Peitschen", "Fangseil"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 4),
Category: "pneumatic_hydraulic",
SubCategory: "druckspeicherenergie",
Name: "Unerwartete Bewegung durch Druckspeicherrestenergie",
Description: "Nach dem Abschalten der Maschine kann in Druckspeichern verbliebene Energie unerwartete Bewegungen von Zylindern oder Aktoren verursachen.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 2,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Automatische Druckspeicher-Entladung bei Abschaltung", "Sperrventile vor Aktoren"}),
TypicalCauses: []string{"Nicht entladener Druckspeicher", "Fehlendes Entlastungsventil", "Wartungszugriff ohne Druckfreischaltung"},
TypicalHarm: "Quetsch- und Stossverletzungen durch unerwartete Zylinderbewegung",
RelevantLifecyclePhases: []string{"maintenance", "fault_finding", "decommissioning"},
RecommendedMeasuresDesign: []string{"Automatische Speicherentladung bei Hauptschalter-Aus", "Manuelles Entlastungsventil mit Druckanzeige"},
RecommendedMeasuresTechnical: []string{"Druckmanometer am Speicher", "Verriegeltes Entlastungsventil"},
RecommendedMeasuresInformation: []string{"Warnschild Druckspeicher", "LOTO-Verfahren fuer Druckspeicher"},
SuggestedEvidence: []string{"Funktionstest Speicherentladung", "Risikobeurteilung"},
RelatedKeywords: []string{"Druckspeicher", "Restenergie", "Speicherentladung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 5),
Category: "pneumatic_hydraulic",
SubCategory: "oelkontamination",
Name: "Kontamination von Hydraulikoel durch Partikel",
Description: "Verunreinigungen im Hydraulikoel fuehren zu erhoehtem Verschleiss an Ventilen und Dichtungen, was Leckagen und Funktionsversagen ausloest.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Feinfilterung des Hydraulikoels", "Regelmaessige Oelanalyse"}),
TypicalCauses: []string{"Verschleisspartikel im System", "Verschmutzte Nachfuellung", "Defekte Filterelemente"},
TypicalHarm: "Maschinenausfall mit Folgeverletzungen durch ploetzliches Versagen hydraulischer Funktionen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Mehrfachfiltration mit Bypass-Anzeige", "Geschlossener Nachfuellkreislauf"},
RecommendedMeasuresTechnical: []string{"Online-Partikelzaehler", "Differenzdruckanzeige am Filter"},
RecommendedMeasuresInformation: []string{"Oelwechselintervalle festlegen", "Sauberkeitsvorgaben fuer Nachfuellung"},
SuggestedEvidence: []string{"Oelanalysebericht", "Filterwechselprotokoll"},
RelatedKeywords: []string{"Hydraulikoel", "Kontamination", "Filtration"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 6),
Category: "pneumatic_hydraulic",
SubCategory: "leckage",
Name: "Leckage an Hochdruckverbindungen",
Description: "Undichte Verschraubungen oder Dichtungen an Hochdruckverbindungen fuehren zu Medienaustritt, Rutschgefahr und moeglichen Hochdruckinjektionsverletzungen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Leckagefreie Verschraubungen verwenden", "Auffangwannen unter Verbindungsstellen"}),
TypicalCauses: []string{"Vibrationsbedingte Lockerung", "Alterung der Dichtungen", "Falsches Anzugsmoment"},
TypicalHarm: "Rutschverletzungen, Hochdruckinjektion bei feinem Oelstrahl",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Verschraubungen mit Sicherungsmitteln", "Leckage-Auffangvorrichtungen"},
RecommendedMeasuresTechnical: []string{"Fuellstandsueberwachung im Tank", "Leckagesensor"},
RecommendedMeasuresInformation: []string{"Sichtpruefung in Wartungsplan aufnehmen", "Hinweis auf Injektionsgefahr"},
SuggestedEvidence: []string{"Leckagepruefprotokoll", "Risikobeurteilung"},
RelatedKeywords: []string{"Leckage", "Verschraubung", "Hochdruck"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 7),
Category: "pneumatic_hydraulic",
SubCategory: "kavitation",
Name: "Kavitation in Hydraulikpumpe",
Description: "Dampfblasenbildung und deren Implosion in der Hydraulikpumpe fuehren zu Materialabtrag, Leistungsverlust und ploetzlichem Pumpenversagen.",
DefaultSeverity: 3,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Korrekte Saughoehe einhalten", "Saugleitungsdimensionierung pruefen"}),
TypicalCauses: []string{"Zu kleine Saugleitung", "Verstopfter Saugfilter", "Zu hohe Oelviskositaet bei Kaelte"},
TypicalHarm: "Maschinenausfall durch Pumpenversagen mit moeglichen Folgeverletzungen",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Saugleitung grosszuegig dimensionieren", "Ueberdruck-Zulaufsystem"},
RecommendedMeasuresTechnical: []string{"Vakuumanzeige an der Saugseite", "Temperaturueberwachung des Oels"},
RecommendedMeasuresInformation: []string{"Vorwaermverfahren bei Kaeltestart", "Wartungsintervall Saugfilter"},
SuggestedEvidence: []string{"Saugdruckmessung", "Pumpeninspektionsbericht"},
RelatedKeywords: []string{"Kavitation", "Hydraulikpumpe", "Saugleitung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 8),
Category: "pneumatic_hydraulic",
SubCategory: "ueberdruckversagen",
Name: "Ueberdruckversagen durch defektes Druckbegrenzungsventil",
Description: "Ein klemmendes oder falsch eingestelltes Druckbegrenzungsventil laesst den Systemdruck unkontrolliert ansteigen, was zum Bersten von Komponenten fuehren kann.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Redundantes Druckbegrenzungsventil", "Druckschalter mit Abschaltung"}),
TypicalCauses: []string{"Verschmutztes Druckbegrenzungsventil", "Falsche Einstellung nach Wartung", "Ermuedung der Ventilfeder"},
TypicalHarm: "Bersten von Leitungen und Gehaeusen mit Splitterwurf, Hochdruckinjektionsverletzungen",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Redundante Druckbegrenzung", "Berstscheibe als letzte Sicherung"},
RecommendedMeasuresTechnical: []string{"Druckschalter mit sicherer Pumpenabschaltung", "Manometer mit Schleppzeiger"},
RecommendedMeasuresInformation: []string{"Pruefintervall Druckbegrenzungsventil", "Einstellprotokoll nach Wartung"},
SuggestedEvidence: []string{"Ventilpruefprotokoll", "Druckverlaufsmessung"},
RelatedKeywords: []string{"Ueberdruck", "Druckbegrenzungsventil", "Bersten"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 9),
Category: "pneumatic_hydraulic",
SubCategory: "ventilversagen",
Name: "Unkontrollierte Zylinderbewegung bei Ventilversagen",
Description: "Bei Ausfall oder Fehlfunktion eines Wegeventils kann ein Zylinder unkontrolliert ein- oder ausfahren und Personen im Bewegungsbereich verletzen.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"actuator", "controller"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Redundante Ventile fuer sicherheitskritische Achsen", "Lasthalteventile an Vertikalachsen"}),
TypicalCauses: []string{"Elektromagnetausfall am Ventil", "Ventilschieber klemmt", "Kontamination blockiert Ventilsitz"},
TypicalHarm: "Quetsch- und Stossverletzungen durch unkontrollierte Zylinderbewegung",
RelevantLifecyclePhases: []string{"normal_operation", "fault_finding"},
RecommendedMeasuresDesign: []string{"Redundante Ventilanordnung mit Ueberwachung", "Lasthalteventile fuer schwerkraftbelastete Achsen"},
RecommendedMeasuresTechnical: []string{"Positionsueberwachung am Zylinder", "Ventil-Stellungsueberwachung"},
RecommendedMeasuresInformation: []string{"Fehlermeldung bei Ventildiskrepanz", "Notfallprozedur bei Ventilversagen"},
SuggestedEvidence: []string{"Funktionstest Redundanz", "FMEA Ventilschaltung"},
RelatedKeywords: []string{"Wegeventil", "Zylinderversagen", "Ventilausfall"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("pneumatic_hydraulic", 10),
Category: "pneumatic_hydraulic",
SubCategory: "viskositaet",
Name: "Temperaturbedingte Viskositaetsaenderung von Hydraulikmedium",
Description: "Extreme Temperaturen veraendern die Viskositaet des Hydraulikoels so stark, dass Ventile und Pumpen nicht mehr zuverlaessig arbeiten und Sicherheitsfunktionen versagen.",
DefaultSeverity: 3,
DefaultProbability: 2,
DefaultExposure: 2,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"actuator", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Oeltemperierung", "Oelsorte mit breitem Viskositaetsbereich"}),
TypicalCauses: []string{"Kaltstart ohne Vorwaermung", "Ueberhitzung durch mangelnde Kuehlung", "Falsche Oelsorte"},
TypicalHarm: "Funktionsversagen hydraulischer Sicherheitseinrichtungen",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Oelkuehler und Oelheizung vorsehen", "Temperaturbereich der Oelsorte abstimmen"},
RecommendedMeasuresTechnical: []string{"Oeltemperatursensor mit Warnmeldung", "Aufwaermprogramm in der Steuerung"},
RecommendedMeasuresInformation: []string{"Zulaessiger Temperaturbereich in Betriebsanleitung", "Oelwechselvorschrift"},
SuggestedEvidence: []string{"Temperaturverlaufsmessung", "Oeldatenblatt"},
RelatedKeywords: []string{"Viskositaet", "Oeltemperatur", "Hydraulikmedium"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: noise_vibration (indices 1-6, 6 entries)
// ====================================================================
{
ID: hazardUUID("noise_vibration", 1),
Category: "noise_vibration",
SubCategory: "dauerschall",
Name: "Gehoerschaedigung durch Dauerschallpegel",
Description: "Dauerhaft erhoehte Schallpegel am Arbeitsplatz ueber dem Grenzwert fuehren zu irreversiblen Gehoerschaeden bei den Maschinenbedienern.",
DefaultSeverity: 4,
DefaultProbability: 4,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Laermminderung an der Quelle", "Gehoerschutzpflicht ab 85 dB(A)"}),
TypicalCauses: []string{"Nicht gekapselte Antriebe", "Metallische Schlagvorgaenge", "Fehlende Schalldaemmung"},
TypicalHarm: "Laermschwerhoerigkeit, Tinnitus",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Laermarme Antriebe und Getriebe", "Schwingungsdaempfende Lagerung"},
RecommendedMeasuresTechnical: []string{"Schallschutzkapseln", "Schallschutzwaende"},
RecommendedMeasuresInformation: []string{"Laermbereichskennzeichnung", "Gehoerschutzpflicht beschildern"},
SuggestedEvidence: []string{"Laermpegelmessung am Arbeitsplatz", "Laermkataster"},
RelatedKeywords: []string{"Laerm", "Gehoerschutz", "Schallpegel"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("noise_vibration", 2),
Category: "noise_vibration",
SubCategory: "hand_arm_vibration",
Name: "Hand-Arm-Vibrationssyndrom durch vibrierende Werkzeuge",
Description: "Langzeitige Nutzung handgefuehrter vibrierender Werkzeuge kann zu Durchblutungsstoerungen, Nervenschaeden und Gelenkbeschwerden in Haenden und Armen fuehren.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Vibrationsgedaempfte Werkzeuge verwenden", "Expositionszeit begrenzen"}),
TypicalCauses: []string{"Ungepufferte Handgriffe", "Verschlissene Werkzeuge mit erhoehter Vibration", "Fehlende Arbeitszeitbegrenzung"},
TypicalHarm: "Weissfingerkrankheit, Karpaltunnelsyndrom, Gelenkarthrose",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Vibrationsgedaempfte Griffe", "Automatisierung statt Handarbeit"},
RecommendedMeasuresTechnical: []string{"Vibrationsmessung am Werkzeug", "Anti-Vibrationshandschuhe"},
RecommendedMeasuresInformation: []string{"Expositionsdauer dokumentieren", "Arbeitsmedizinische Vorsorge anbieten"},
SuggestedEvidence: []string{"Vibrationsmessung nach ISO 5349", "Expositionsberechnung"},
RelatedKeywords: []string{"Vibration", "Hand-Arm", "HAVS"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("noise_vibration", 3),
Category: "noise_vibration",
SubCategory: "ganzkoerpervibration",
Name: "Ganzkoerpervibration an Bedienplaetzen",
Description: "Vibrationen, die ueber den Sitz oder die Standflaeche auf den gesamten Koerper uebertragen werden, koennen zu Wirbelsaeulenschaeden fuehren.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schwingungsisolierter Fahrersitz", "Vibrationsgedaempfte Stehplattform"}),
TypicalCauses: []string{"Unwucht in rotierenden Teilen", "Unebener Fahrweg", "Fehlende Schwingungsisolierung des Bedienplatzes"},
TypicalHarm: "Bandscheibenschaeden, Rueckenschmerzen, Ermuedung",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Schwingungsisolierte Kabine oder Plattform", "Auswuchten rotierender Massen"},
RecommendedMeasuresTechnical: []string{"Luftgefederter Sitz", "Vibrationsueberwachung mit Grenzwertwarnung"},
RecommendedMeasuresInformation: []string{"Maximalexpositionsdauer festlegen", "Arbeitsmedizinische Vorsorge"},
SuggestedEvidence: []string{"Ganzkoerper-Vibrationsmessung nach ISO 2631", "Expositionsbewertung"},
RelatedKeywords: []string{"Ganzkoerpervibration", "Wirbelsaeule", "Sitzvibrationen"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("noise_vibration", 4),
Category: "noise_vibration",
SubCategory: "impulslaerm",
Name: "Impulslaerm durch Stanz-/Praegevorgaenge",
Description: "Kurzzeitige Schallspitzen bei Stanz-, Praege- oder Nietvorgaengen ueberschreiten den Spitzenschalldruckpegel und schaedigen das Gehoer besonders stark.",
DefaultSeverity: 4,
DefaultProbability: 4,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schalldaemmende Werkzeugeinhausung", "Impulsschallgedaempfter Gehoerschutz"}),
TypicalCauses: []string{"Metall-auf-Metall-Schlag", "Offene Stanzwerkzeuge", "Fehlende Schalldaemmung"},
TypicalHarm: "Akutes Knalltrauma, irreversible Gehoerschaedigung",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Elastische Werkzeugauflagen", "Geschlossene Werkzeugkammer"},
RecommendedMeasuresTechnical: []string{"Schallschutzkabine um Stanzbereich", "Impulslaermueberwachung"},
RecommendedMeasuresInformation: []string{"Gehoerschutzpflicht-Kennzeichnung", "Schulung zur Impulslaermgefahr"},
SuggestedEvidence: []string{"Spitzenpegelmessung", "Laermgutachten"},
RelatedKeywords: []string{"Impulslaerm", "Stanzen", "Spitzenschallpegel"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("noise_vibration", 5),
Category: "noise_vibration",
SubCategory: "infraschall",
Name: "Infraschall von Grossventilatoren",
Description: "Grosse Ventilatoren und Geblaese erzeugen niederfrequenten Infraschall, der zu Unwohlsein, Konzentrationsstoerungen und Ermuedung fuehren kann.",
DefaultSeverity: 3,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "actuator"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Schwingungsisolierte Aufstellung", "Schalldaempfer in Kanaelen"}),
TypicalCauses: []string{"Grosse Ventilatorschaufeln mit niedriger Drehzahl", "Resonanzen in Luftkanaelen", "Fehlende Schwingungsentkopplung"},
TypicalHarm: "Unwohlsein, Uebelkeit, Konzentrationsstoerungen bei Dauerexposition",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Schwingungsentkopplung des Ventilators", "Resonanzfreie Kanaldimensionierung"},
RecommendedMeasuresTechnical: []string{"Niederfrequenz-Schalldaempfer", "Infraschall-Messgeraet"},
RecommendedMeasuresInformation: []string{"Aufklaerung ueber Infraschallsymptome", "Expositionshinweise"},
SuggestedEvidence: []string{"Infraschallmessung", "Risikobeurteilung"},
RelatedKeywords: []string{"Infraschall", "Ventilator", "Niederfrequenz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("noise_vibration", 6),
Category: "noise_vibration",
SubCategory: "resonanz",
Name: "Resonanzschwingungen in Maschinengestell",
Description: "Anregung des Maschinengestells in seiner Eigenfrequenz kann zu unkontrollierten Schwingungen fuehren, die Bauteile ermueden und zum Versagen bringen.",
DefaultSeverity: 4,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Eigenfrequenzanalyse bei Konstruktion", "Schwingungsdaempfer anbringen"}),
TypicalCauses: []string{"Drehzahl nahe der Eigenfrequenz des Gestells", "Fehlende Daempfungselemente", "Nachtraegliche Massenveraenderungen"},
TypicalHarm: "Materialermuedungsbruch mit Absturz von Bauteilen, Verletzungen durch Bruchstuecke",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Eigenfrequenz ausserhalb des Betriebsdrehzahlbereichs legen", "Versteifung des Gestells"},
RecommendedMeasuresTechnical: []string{"Schwingungssensoren mit Grenzwertueberwachung", "Tilger oder Daempfer anbringen"},
RecommendedMeasuresInformation: []string{"Verbotene Drehzahlbereiche kennzeichnen", "Schwingungsueberwachungsanleitung"},
SuggestedEvidence: []string{"Modalanalyse des Gestells", "Schwingungsmessprotokoll"},
RelatedKeywords: []string{"Resonanz", "Eigenfrequenz", "Strukturschwingung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: ergonomic (indices 1-8, 8 entries)
// ====================================================================
{
ID: hazardUUID("ergonomic", 1),
Category: "ergonomic",
SubCategory: "fehlbedienung",
Name: "Fehlbedienung durch unguenstige Anordnung von Bedienelementen",
Description: "Ungluecklich platzierte oder schlecht beschriftete Bedienelemente erhoehen das Risiko von Fehlbedienungen, die sicherheitskritische Maschinenbewegungen ausloesen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"controller", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Ergonomische Anordnung nach ISO 9355", "Eindeutige Beschriftung und Farbcodierung"}),
TypicalCauses: []string{"Nicht-intuitive Anordnung der Schalter", "Fehlende oder unlesbare Beschriftung", "Zu geringer Abstand zwischen Bedienelementen"},
TypicalHarm: "Verletzungen durch unbeabsichtigte Maschinenaktionen nach Fehlbedienung",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Bedienelemente nach ISO 9355 anordnen", "Farbcodierung und Symbolik nach IEC 60073"},
RecommendedMeasuresTechnical: []string{"Bestaetigung fuer kritische Aktionen", "Abgedeckte Schalter fuer Gefahrenfunktionen"},
RecommendedMeasuresInformation: []string{"Bedienerhandbuch mit Bilddarstellungen", "Schulung der Bediener"},
SuggestedEvidence: []string{"Usability-Test des Bedienfeldes", "Risikobeurteilung"},
RelatedKeywords: []string{"Bedienelemente", "Fehlbedienung", "Ergonomie"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 2),
Category: "ergonomic",
SubCategory: "zwangshaltung",
Name: "Zwangshaltung bei Beschickungsvorgaengen",
Description: "Unglueckliche Koerperhaltungen beim manuellen Beladen oder Entnehmen von Werkstuecken fuehren zu muskuloskeletalen Beschwerden.",
DefaultSeverity: 3,
DefaultProbability: 4,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Hoehenverstellbare Beschickungsoeffnung", "Automatische Materialzufuhr"}),
TypicalCauses: []string{"Beschickungsoeffnung in unguenstiger Hoehe", "Grosse Greifentfernung", "Wiederholte Drehbewegungen des Rumpfes"},
TypicalHarm: "Rueckenbeschwerden, Schulter-Arm-Syndrom, chronische Gelenkschmerzen",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Beschickungshoehe zwischen 60 und 120 cm", "Kurze Greifwege"},
RecommendedMeasuresTechnical: []string{"Hoehenverstellbare Arbeitstische", "Hebehilfen und Manipulatoren"},
RecommendedMeasuresInformation: []string{"Ergonomie-Schulung", "Hinweise zur richtigen Koerperhaltung"},
SuggestedEvidence: []string{"Ergonomische Arbeitsplatzanalyse", "Gefaehrdungsbeurteilung"},
RelatedKeywords: []string{"Zwangshaltung", "Beschickung", "Muskel-Skelett"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 3),
Category: "ergonomic",
SubCategory: "manuelle_handhabung",
Name: "Koerperliche Ueberforderung durch manuelle Handhabung",
Description: "Schwere Lasten muessen manuell gehoben, getragen oder verschoben werden, was zu akuten Verletzungen oder chronischen Schaeden fuehrt.",
DefaultSeverity: 3,
DefaultProbability: 4,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Technische Hebehilfen bereitstellen", "Gewichtsgrenze fuer manuelles Heben festlegen"}),
TypicalCauses: []string{"Fehlende Hebehilfen", "Zu schwere Einzelteile", "Haeufiges Heben ueber Schulterhoe­he"},
TypicalHarm: "Bandscheibenvorfall, Rueckenverletzungen, Ueberanstrengung",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"},
RecommendedMeasuresDesign: []string{"Bauteile unter 15 kg fuer manuelles Handling", "Hebevorrichtungen integrieren"},
RecommendedMeasuresTechnical: []string{"Kran oder Hebezeug am Arbeitsplatz", "Vakuumheber fuer Platten"},
RecommendedMeasuresInformation: []string{"Hebebelastungstabelle aushangen", "Unterweisung in Hebetechnik"},
SuggestedEvidence: []string{"Lastenhandhabungsbeurteilung", "Risikobeurteilung"},
RelatedKeywords: []string{"Heben", "Lastenhandhabung", "Ueberanstrengung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 4),
Category: "ergonomic",
SubCategory: "verwechslung",
Name: "Verwechslungsgefahr bei gleichartigen Bedienelementen",
Description: "Baugleiche, nicht unterscheidbare Taster oder Schalter koennen verwechselt werden, was zu unbeabsichtigten und gefaehrlichen Maschinenaktionen fuehrt.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"controller", "sensor"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Unterschiedliche Formen und Farben fuer verschiedene Funktionen", "Beschriftung in Klartext"}),
TypicalCauses: []string{"Identische Tasterform fuer unterschiedliche Funktionen", "Fehlende Beschriftung", "Schlechte Beleuchtung am Bedienfeld"},
TypicalHarm: "Unbeabsichtigte Maschinenaktionen mit Verletzungsgefahr",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Form- und Farbcodierung nach IEC 60073", "Raeumliche Gruppierung nach Funktionsbereichen"},
RecommendedMeasuresTechnical: []string{"Beleuchtetes Bedienfeld", "Haptisch unterscheidbare Taster"},
RecommendedMeasuresInformation: []string{"Bedienfeldplan am Arbeitsplatz aushangen", "Einweisung neuer Bediener"},
SuggestedEvidence: []string{"Usability-Bewertung", "Risikobeurteilung"},
RelatedKeywords: []string{"Verwechslung", "Taster", "Bedienpanel"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 5),
Category: "ergonomic",
SubCategory: "sichtbehinderung",
Name: "Sichtbehinderung des Gefahrenbereichs vom Bedienplatz",
Description: "Vom Bedienplatz aus ist der Gefahrenbereich nicht vollstaendig einsehbar, sodass der Bediener Personen im Gefahrenbereich nicht erkennen kann.",
DefaultSeverity: 5,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"controller", "sensor", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Kameraueberwa­chung des Gefahrenbereichs", "Sicherheits-Laserscanner"}),
TypicalCauses: []string{"Verdeckte Sicht durch Maschinenteile", "Bedienplatz zu weit vom Arbeitsbereich", "Fehlende Spiegel oder Kameras"},
TypicalHarm: "Schwere Verletzungen von Personen im nicht einsehbaren Gefahrenbereich",
RelevantLifecyclePhases: []string{"normal_operation", "setup"},
RecommendedMeasuresDesign: []string{"Bedienplatz mit direkter Sicht auf Gefahrenbereich", "Transparente Schutzeinrichtungen"},
RecommendedMeasuresTechnical: []string{"Kamerasystem mit Monitor am Bedienplatz", "Sicherheits-Laserscanner"},
RecommendedMeasuresInformation: []string{"Hinweis auf toten Winkel", "Anlaufwarnung vor Maschinenbewegung"},
SuggestedEvidence: []string{"Sichtfeldanalyse vom Bedienplatz", "Risikobeurteilung"},
RelatedKeywords: []string{"Sichtfeld", "Toter Winkel", "Bedienplatz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 6),
Category: "ergonomic",
SubCategory: "griffgestaltung",
Name: "Unergonomische Griffgestaltung von Handwerkzeugen",
Description: "Schlecht geformte Griffe an handgefuehrten Werkzeugen und Hebeln fuehren zu Ermuedung, verminderter Griffkraft und erhoehtem Unfallrisiko.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 4,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Ergonomische Griffformen nach EN 894", "Rutschfeste Griffoberflaechen"}),
TypicalCauses: []string{"Zu duenner oder zu dicker Griff", "Glatte Griffoberflaeche", "Scharfe Kanten am Griff"},
TypicalHarm: "Sehnenscheidenentzuendung, Abrutschen mit Folgeverletzung",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Griffdurchmesser 30-45 mm", "Anatomisch geformte Griffe"},
RecommendedMeasuresTechnical: []string{"Rutschfeste Beschichtung", "Handgelenkschlaufe an Handwerkzeugen"},
RecommendedMeasuresInformation: []string{"Auswahl ergonomischer Werkzeuge dokumentieren", "Arbeitsmedizinische Beratung"},
SuggestedEvidence: []string{"Ergonomische Werkzeugbewertung", "Risikobeurteilung"},
RelatedKeywords: []string{"Griff", "Handwerkzeug", "Ergonomie"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 7),
Category: "ergonomic",
SubCategory: "monotonie",
Name: "Monotone Taetigkeit fuehrt zu Aufmerksamkeitsverlust",
Description: "Langandauernde, sich wiederholende Taetigkeiten ohne Abwechslung vermindern die Aufmerksamkeit des Bedieners und erhoehen die Unfallgefahr.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Aufgabenwechsel organisieren", "Regelmaessige Pausen einplanen"}),
TypicalCauses: []string{"Gleichfoermige Wiederholtaetigkeit", "Fehlende Pausenregelung", "Mangelnde Aufgabenvielfalt"},
TypicalHarm: "Unfaelle durch Unaufmerksamkeit, verspaetete Reaktion auf Gefahren",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Automatisierung monotoner Teilaufgaben", "Arbeitsplatzrotation ermoeglichen"},
RecommendedMeasuresTechnical: []string{"Aufmerksamkeitserkennung", "Regelmaessige Warnmeldungen"},
RecommendedMeasuresInformation: []string{"Pausenplan erstellen", "Schulung zur Ermuedungserkennung"},
SuggestedEvidence: []string{"Arbeitsplatzanalyse", "Gefaehrdungsbeurteilung psychische Belastung"},
RelatedKeywords: []string{"Monotonie", "Aufmerksamkeit", "Ermuedung"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("ergonomic", 8),
Category: "ergonomic",
SubCategory: "wartungszugang",
Name: "Ungenuegender Zugang fuer Wartungsarbeiten",
Description: "Enge oder schwer zugaengliche Wartungsbereiche zwingen das Personal zu gefaehrlichen Koerperhaltungen und erhoehen das Risiko von Verletzungen.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Wartungsoeffnungen ausreichend dimensionieren", "Wartungsbuehnen und Podeste vorsehen"}),
TypicalCauses: []string{"Zu kleine Wartungsoeffnungen", "Fehlende Arbeitsbuehnen in der Hoehe", "Wartungspunkte hinter schwer zu demontierenden Verkleidungen"},
TypicalHarm: "Quetschungen in engen Raeumen, Absturz von erhoehten Wartungspositionen",
RelevantLifecyclePhases: []string{"maintenance", "fault_finding"},
RecommendedMeasuresDesign: []string{"Mindestmasse fuer Zugangsoeeffnungen nach ISO 14122", "Wartungspunkte leicht zugaenglich anordnen"},
RecommendedMeasuresTechnical: []string{"Feste Buehnen und Leitern mit Absturzsicherung", "Schnellverschluesse statt Schraubverbindungen an Wartungsklappen"},
RecommendedMeasuresInformation: []string{"Wartungszugangsskizze in Betriebsanleitung", "Hinweis auf PSA-Pflicht bei Arbeiten in der Hoehe"},
SuggestedEvidence: []string{"Zugaenglichkeitspruefung", "Risikobeurteilung"},
RelatedKeywords: []string{"Wartungszugang", "Zugaenglichkeit", "Wartungsbuehne"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
// ====================================================================
// Category: material_environmental (indices 1-8, 8 entries)
// ====================================================================
{
ID: hazardUUID("material_environmental", 1),
Category: "material_environmental",
SubCategory: "staubexplosion",
Name: "Staubexplosion durch Feinpartikel",
Description: "Feine brennbare Staube koennen in Verbindung mit einer Zuendquelle explosionsartig reagieren und schwere Zerstoerungen verursachen.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 2,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"ATEX-konforme Ausfuehrung", "Absauganlage mit Funkenerkennung"}),
TypicalCauses: []string{"Unzureichende Absaugung", "Staubansammlung in Hohlraeumen", "Elektrische oder mechanische Zuendquelle"},
TypicalHarm: "Explosion mit toedlichen Verletzungen, schwere Verbrennungen, Gebaeudezersto­erung",
RelevantLifecyclePhases: []string{"normal_operation", "cleaning"},
RecommendedMeasuresDesign: []string{"ATEX-konforme Konstruktion", "Druckentlastungsflaechen vorsehen"},
RecommendedMeasuresTechnical: []string{"Absaugung mit Funkenloeschanlage", "Explosionsunterdrueckung"},
RecommendedMeasuresInformation: []string{"Ex-Zoneneinteilung kennzeichnen", "Reinigungsplan fuer Staubablagerungen"},
SuggestedEvidence: []string{"Explosionsschutz-Dokument", "ATEX-Konformitaetserklaerung"},
RelatedKeywords: []string{"Staubexplosion", "ATEX", "Feinstaub"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 2),
Category: "material_environmental",
SubCategory: "rauch_gas",
Name: "Rauch- und Gasfreisetzung bei Laserschneiden",
Description: "Beim Laserschneiden entstehen gesundheitsschaedliche Rauche und Gase aus dem verdampften Material, die die Atemwege schaedigen.",
DefaultSeverity: 4,
DefaultProbability: 4,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Absaugung direkt am Bearbeitungspunkt", "Filteranlage mit Aktivkohlestufe"}),
TypicalCauses: []string{"Fehlende Absaugung", "Verarbeitung kunststoffbeschichteter Materialien", "Undichte Maschineneinhausung"},
TypicalHarm: "Atemwegserkrankungen, Reizung von Augen und Schleimhaeuten",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Geschlossener Bearbeitungsraum mit Absaugung", "Materialauswahl ohne toxische Beschichtungen"},
RecommendedMeasuresTechnical: []string{"Punktabsaugung mit HEPA-Filter", "Raumluft-Monitoring"},
RecommendedMeasuresInformation: []string{"Materialfreigabeliste pflegen", "Atemschutz-PSA bei Sondermaterialien"},
SuggestedEvidence: []string{"Arbeitsplatzmessung Gefahrstoffe", "Risikobeurteilung"},
RelatedKeywords: []string{"Laserschneiden", "Rauch", "Gefahrstoff"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 3),
Category: "material_environmental",
SubCategory: "kuehlschmierstoff",
Name: "Daempfe aus Kuehlschmierstoffen",
Description: "Beim Einsatz von Kuehlschmierstoffen entstehen Aerosole und Daempfe, die bei Langzeitexposition zu Haut- und Atemwegserkrankungen fuehren.",
DefaultSeverity: 3,
DefaultProbability: 3,
DefaultExposure: 4,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Oelunebelabscheider an der Maschine", "Hautschutzplan fuer Bediener"}),
TypicalCauses: []string{"Offene Bearbeitungszonen ohne Abschirmung", "Ueberaltertes Kuehlschmiermittel", "Zu hoher Kuehlmitteldurchsatz"},
TypicalHarm: "Oelakne, Atemwegssensibilisierung, allergische Hautreaktionen",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Geschlossener Bearbeitungsraum", "Minimalmengenschmierung statt Volumenoelstrom"},
RecommendedMeasuresTechnical: []string{"Oelunebelabscheider", "KSS-Konzentrations- und pH-Ueberwachung"},
RecommendedMeasuresInformation: []string{"Hautschutz- und Hygieneplan", "KSS-Pflegeanweisung"},
SuggestedEvidence: []string{"Arbeitsplatz-Gefahrstoffmessung", "Hautschutzplan"},
RelatedKeywords: []string{"Kuehlschmierstoff", "KSS", "Aerosol"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 4),
Category: "material_environmental",
SubCategory: "prozessmedien",
Name: "Chemische Exposition durch Prozessmedien",
Description: "Chemisch aggressive Prozessmedien wie Saeuren, Laugen oder Loesemittel koennen bei Hautkontakt oder Einatmen schwere Gesundheitsschaeden verursachen.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"other", "mechanical"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Geschlossene Mediumfuehrung", "Chemikalienschutz-PSA"}),
TypicalCauses: []string{"Offene Behaelter mit Gefahrstoffen", "Spritzer beim Nachfuellen", "Leckage an Dichtungen"},
TypicalHarm: "Veraetzungen, Atemwegsschaedigung, Vergiftung",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "cleaning"},
RecommendedMeasuresDesign: []string{"Geschlossene Kreislaeufe", "Korrosionsbestaendige Materialien"},
RecommendedMeasuresTechnical: []string{"Notdusche und Augenspueler", "Gaswarnanlage"},
RecommendedMeasuresInformation: []string{"Sicherheitsdatenblaetter am Arbeitsplatz", "Gefahrstoffunterweisung"},
SuggestedEvidence: []string{"Gefahrstoffverzeichnis", "Arbeitsplatzmessung"},
RelatedKeywords: []string{"Gefahrstoff", "Chemikalie", "Prozessmedium"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 5),
Category: "material_environmental",
SubCategory: "dichtungsversagen",
Name: "Leckage von Gefahrstoffen bei Dichtungsversagen",
Description: "Versagende Dichtungen an Rohrleitungen oder Behaeltern setzen Gefahrstoffe frei und gefaehrden Personal und Umwelt.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Doppelwandige Behaelter mit Leckagedetektion", "Auffangwannen unter allen Gefahrstoffbereichen"}),
TypicalCauses: []string{"Alterung der Dichtungsmaterialien", "Chemische Unvertraeglichkeit", "Thermische Ueberbelastung der Dichtung"},
TypicalHarm: "Gefahrstofffreisetzung mit Vergiftung, Hautschaedigung, Umweltschaden",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Doppelwandige Leitungen", "Chemisch bestaendige Dichtungswerkstoffe"},
RecommendedMeasuresTechnical: []string{"Leckagesensoren", "Auffangwannen mit Fassungsvermoegen 110%"},
RecommendedMeasuresInformation: []string{"Dichtungswechselintervalle festlegen", "Notfallplan Gefahrstoffaustritt"},
SuggestedEvidence: []string{"Dichtheitspruefprotokoll", "Gefahrstoff-Notfallplan"},
RelatedKeywords: []string{"Leckage", "Dichtung", "Gefahrstoff"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 6),
Category: "material_environmental",
SubCategory: "biologische_kontamination",
Name: "Biologische Kontamination in Lebensmittelmaschinen",
Description: "In Maschinen der Lebensmittelindustrie koennen sich Mikroorganismen in schwer zu reinigenden Bereichen ansiedeln und das Produkt kontaminieren.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Hygienic-Design-Konstruktion", "CIP-Reinigungssystem"}),
TypicalCauses: []string{"Totraeume und Hinterschneidungen in der Konstruktion", "Unzureichende Reinigung", "Poroese Oberflaechen"},
TypicalHarm: "Lebensmittelkontamination mit Gesundheitsge­faehrdung der Verbraucher",
RelevantLifecyclePhases: []string{"normal_operation", "cleaning", "maintenance"},
RecommendedMeasuresDesign: []string{"Hygienic Design nach EHEDG-Richtlinien", "Selbstentleerende Konstruktion"},
RecommendedMeasuresTechnical: []string{"CIP-Reinigungsanlage", "Oberflaechenguete Ra kleiner 0.8 Mikrometer"},
RecommendedMeasuresInformation: []string{"Reinigungs- und Desinfektionsplan", "Hygieneschulung des Personals"},
SuggestedEvidence: []string{"EHEDG-Zertifikat", "Mikrobiologische Abklatschproben"},
RelatedKeywords: []string{"Hygiene", "Kontamination", "Lebensmittelsicherheit"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 7),
Category: "material_environmental",
SubCategory: "elektrostatik",
Name: "Statische Aufladung in staubhaltiger Umgebung",
Description: "In staubhaltiger oder explosionsfaehiger Atmosphaere kann eine elektrostatische Entladung als Zuendquelle wirken und eine Explosion oder einen Brand ausloesen.",
DefaultSeverity: 5,
DefaultProbability: 2,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "electrical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Erdung aller leitfaehigen Teile", "Ableitfaehige Bodenbeschichtung"}),
TypicalCauses: []string{"Nicht geerdete Maschinenteile", "Reibung von Kunststoffbaendern", "Niedrige Luftfeuchtigkeit"},
TypicalHarm: "Zuendung explosionsfaehiger Atmosphaere, Explosion oder Brand",
RelevantLifecyclePhases: []string{"normal_operation"},
RecommendedMeasuresDesign: []string{"Leitfaehige Materialien verwenden", "Erdungskonzept fuer alle Komponenten"},
RecommendedMeasuresTechnical: []string{"Ionisatoren zur Ladungsneutralisation", "Erdungsueberwachung"},
RecommendedMeasuresInformation: []string{"ESD-Hinweisschilder", "Schulung zur elektrostatischen Gefaehrdung"},
SuggestedEvidence: []string{"Erdungsmessung", "Explosionsschutz-Dokument"},
RelatedKeywords: []string{"Elektrostatik", "ESD", "Zuendquelle"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
{
ID: hazardUUID("material_environmental", 8),
Category: "material_environmental",
SubCategory: "uv_strahlung",
Name: "UV-Strahlung bei Schweiss- oder Haerteprozessen",
Description: "Schweissvorgaenge und UV-Haerteprozesse emittieren ultraviolette Strahlung, die Augen und Haut schwer schaedigen kann.",
DefaultSeverity: 4,
DefaultProbability: 3,
DefaultExposure: 3,
DefaultAvoidance: 3,
ApplicableComponentTypes: []string{"mechanical", "electrical", "other"},
RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"},
SuggestedMitigations: mustMarshalJSON([]string{"Abschirmung des UV-Bereichs", "Schweissschutzschirm und Schutzkleidung"}),
TypicalCauses: []string{"Fehlende Abschirmung der UV-Quelle", "Reflexion an glaenzenden Oberflaechen", "Aufenthalt im Strahlungsbereich ohne Schutz"},
TypicalHarm: "Verblitzen der Augen, Hautverbrennungen, erhoehtes Hautkrebsrisiko bei Langzeitexposition",
RelevantLifecyclePhases: []string{"normal_operation", "maintenance"},
RecommendedMeasuresDesign: []string{"Vollstaendige Einhausung der UV-Quelle", "UV-absorbierende Schutzscheiben"},
RecommendedMeasuresTechnical: []string{"Schweissvorhaenge um den Arbeitsbereich", "UV-Sensor mit Abschaltung"},
RecommendedMeasuresInformation: []string{"Warnhinweis UV-Strahlung", "PSA-Pflicht: Schweissschutzhelm und Schutzkleidung"},
SuggestedEvidence: []string{"UV-Strahlungsmessung", "Risikobeurteilung"},
RelatedKeywords: []string{"UV-Strahlung", "Schweissen", "Strahlenschutz"},
IsBuiltin: true,
TenantID: nil,
CreatedAt: now,
},
}
entries = append(entries, iso12100Entries...)
return entries
}