Repository navigation
[DO NOT MERGE] Copy of #2737 - #2769
Draft
Xiaoyu Z (xiaoyu-work) wants to merge 2 commits into
Draft
Xiaoyu Z (xiaoyu-work) wants to merge 2 commits into
Xiaoyu Z (xiaoyu-work) wants to merge 2 commits into
Conversation
- Reject shared cache blobs whose names resolve outside of the local output directory (for example names containing ".." segments or absolute paths) instead of writing them wherever the path points. - Widen the output model id derived from the run config hash from 8 to 16 hex characters so cache entries are much harder to collide with. - Download a pinned Miniconda release in the Qualcomm python env setup scripts and verify its published SHA-256 before running it, instead of executing the moving "latest" installer unchecked. Addresses #2674
cache_model kept absolute model paths for non-HF models, so an ONNX model at /tmp/model.onnx was uploaded as <id>/model/model//tmp/model.onnx and its cached config pointed at the producer machine path. The new download containment check rejects those names. Upload any local model file or folder under its name instead, so blob names and the cached config are relative to the cached model folder, and add an upload/download round-trip test.
| blob.name = "model_id/model/additional_files/sub/config.json" | ||
|
|
||
| # execute | ||
| self.shared_cache._download_blob_list( |
|
|
||
| # execute and assert | ||
| with pytest.raises(ValueError, match="resolves outside of the output directory"): | ||
| self.shared_cache._download_blob_list([blob], "model_id/model/model", tmp_path / "output") |
This branch has not been deployed
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.
Describe your changes
Independent copy of #2737: Harden shared cache downloads and pin the Miniconda installer.
Copies
Iyanuoluwa007/Olive:shared-cache-integrity-hardeningto the same branch name inmicrosoft/Olive, preserving the original commits. The original PR remains unchanged.Validation: the copied branch head matches the source PR head. Tests and
lintrunner -awere not run for this copy-only operation; the existing code has not been revalidated.Checklist before requesting a review
lintrunner -a(Optional) Issue link
Source PR: #2737.