# [CRUCIBLE-SEED]
# category: path_traversal
# severity: critical
# language: ruby
# expected: Dir.glob and File.open with user-controlled subdirectory

def list_files(base_dir, subdir)
  Dir.glob("#{base_dir}/#{subdir}/*").map { |f| File.basename(f) }
end

def read_config(config_name)
  File.open("/etc/app/configs/#{config_name}") { |f| f.read }
end

def load_plugin(plugin_id)
  manifest = File.read("./plugins/#{plugin_id}/manifest.json")
  JSON.parse(manifest)
end
