Ситуация: на security review нашли риск в теме «authentication vs authorization». Как вы будете разбираться?
Что хотят услышать интервьюеры:
План действий: сначала воспроизвести проблему, затем собрать факты: logs, request id, SQL, background job id, метрики, stack trace и изменения в релизе.
- Понять, где используется authentication vs authorization.
- Изолировать слой: Ruby object, ActiveRecord, controller, job, cache или внешняя интеграция.
- Сделать минимальный безопасный fix и добавить regression test.
Ответ:
Опасность: исправлять наугад без проверки гипотезы.
current_user policy(record).update?