fix: restore authorization checks and default-deny filtering#100
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
fix: restore authorization checks and default-deny filtering#100devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
- Restore PermissionsDependency on GET /users/{user_id} endpoint
- Remove debug print() in apply_filter_specific_joins
- Apply model-specific filters directly to query instead of via intersect
- Restore default-deny in restricted_incident_filter and restricted_case_filter:
admin/owner/manager get unrestricted access; all other roles use outerjoin
with restrictive visibility filtering
Co-Authored-By: bot_apk <apk@cognition.ai>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
eval-bug-1branch carried a regression that reverted the authz hardening from PR Netflix#6155. This PR restores the correct behavior across two files:auth/views.py—GET /users/{user_id}was missing itsPermissionsDependency([OrganizationMemberPermission])guard, allowing unauthenticated reads. Restored.database/service.py— Three issues:search_filter_sort_paginatestored the restricted query in a separatequery_restrictedvariable and applied it viaintersectonly forIncident/Casemodels. This broke sorting (intersect discards ORDER BY) and skipped restriction for all other models. Restored to applyingapply_model_specific_filtersdirectly toquery.restricted_incident_filter/restricted_case_filteronly filtered whenrole == UserRoles.member, giving non-member non-admin roles unrestricted access. Also used INNER JOIN, which dropped incidents/cases with no participants. Restored default-deny: admin/owner/manager get early return; all other roles useouterjoin+and_(visibility == restricted, email == current_user).Stray
print()call removed fromapply_filter_specific_joins.All 25 tests in
tests/database/test_service.pynow pass.Link to Devin session: https://app.devin.ai/sessions/4ee1830cbc0d445aa8323330232ffa8b