lib/brakeman/checks/check_mass_assignment.rb in brakeman-4.8.0 vs lib/brakeman/checks/check_mass_assignment.rb in brakeman-4.8.1
- old
+ new
@@ -15,10 +15,11 @@
end
def run_check
check_mass_assignment
check_permit!
+ check_permit_all_parameters
end
def find_mass_assign_calls
return @mass_assign_calls if @mass_assign_calls
@@ -190,7 +191,21 @@
warn :result => result,
:warning_type => "Mass Assignment",
:warning_code => :mass_assign_permit!,
:message => "Parameters should be whitelisted for mass assignment",
:confidence => confidence
+ end
+
+ def check_permit_all_parameters
+ tracker.find_call(target: :"ActionController::Parameters", method: :permit_all_parameters=).each do |result|
+ call = result[:call]
+
+ if true? call.first_arg
+ warn :result => result,
+ :warning_type => "Mass Assignment",
+ :warning_code => :mass_assign_permit_all,
+ :message => "Parameters should be whitelisted for mass assignment",
+ :confidence => :high
+ end
+ end
end
end