Authorization removed (ARCH6203)
Anahtar ruby.security.authorization-removed · Önem error · Kategori security · CWE CWE-862
Yalnız merge request’lerde. Değişen her endpoint’i hedef daldaki haliyle karşılaştırır ve korumasını kaybedeni işaretler: Rails controller’larında kaldırılan kimlik doğrulama ya da yetkilendirme before_action’ı, eklenen skip_before_action, filtrenin except: listesine eklenen ya da only: listesinden çıkan eylem, filtreyi taşıyan temel sınıftan ayrılma; Grape API’lerinde API sınıfından, route’u saran namespace’ten ya da bir atadan kaldırılan, kimlik doğrulayan before bloğu. Neyin kimlik doğruladığı deponun kendi kodundan (401 / 403 dönen, Pundit::NotAuthorizedError fırlatan ya da oturum açmaya yönlendiren metot) ve kütüphanelerin kendi adlarından (Devise authenticate_<scope>!, doorkeeper_authorize!, CanCanCan) okunur, bu projenin adlarından değil. Açık bir endpoint tek başına bulgu değildir; onu açan değişiklik bulgudur, değişikliğin kendi eklediği eylem ise yenidir, açılmış sayılmaz.
Yanlış
Bölüm başlığı “Yanlış”class Admin::ReportsController < ApplicationController before_action :authenticate_user! before_action :authenticate_user!, except: [:export]
def export send_data Report.to_csv endendclass Admin::ReportsController < ApplicationController before_action :authenticate_user!
def export send_data Report.to_csv endend