# [CRUCIBLE-SEED]
# category: yaml_deserialization
# severity: critical
# language: ruby
# expected: YAML.load on file contents from user-supplied path — RCE via Psych gadget

def load_config_file(config_name)
  path    = "/etc/app/configs/#{config_name}.yml"
  content = File.read(path)
  YAML.load(content)
end

def parse_pipeline(pipeline_definition)
  YAML.load(pipeline_definition)
end

def deserialize_job(job_yaml)
  job = YAML.load(job_yaml)
  job.merge(loaded_at: Time.now)
end
