Project-MONAI / Project-MONAI/MONAILabel
Upload cache session based isolation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 891
- Forks
- 269
- Avg merge
- 15h 41m
- Merged PRs (30d)
- 1
Description
My understanding is that the MONAILabel upload cache location is a single allocation that is shared among potentially multiple api clients. The file names within the cache are as per the original uploaded image without any obfuscation or any assurance of uniqueness.
IMO this has a number of drawbacks in utilising MONAILabel as an API presented service.
- There is the possibility of users uploading images with the same name and casing a conflict.
- There is the possibility of potentially sensitive images to be accessed via unauthorised users.
This could greatly reduce the potential use cases and operational workflows of MONAILabel.
I would like MONAILabel to implement a level of isolation and/or obvuscation within the cache to ensure access of images is a 1:1 with user access. This could be linked to a specific user session.
ATM we are ensuring that MONAILabel implementations are dedicated to a single individual or group via infrastructure segregation. Either by running the API on a specific host or measures of network microsegmentation and that the implementation is ephemeral in nature.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing MONAILabel's upload-cache handling and API session or client isolation. Determine how cache names and access checks are currently defined, then clarify the intended session boundary and threat model. Done means uploads cannot collide or be accessed across unauthorized users, with tests covering the isolation behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100