feat: Validate and pin peer encryption bundles - #9520
Open
rasswanth-s wants to merge 1 commit into
Open
rasswanth-s wants to merge 1 commit into
rasswanth-s wants to merge 1 commit into
Conversation
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.
Summary
A peer's public key bundle arrives over Drive, which the threat model treats
as adversarial, yet it was parsed without checking the DID it asserts and the
pin lived only in SYFT_peers.json on Drive, which load_peers re-read on every
sync. Anyone able to edit those bytes could swap the key and read "end-to-end"
encrypted traffic.
Changes
Testing
Adding Unit tests
Asana task
https://app.asana.com/1/1185126988600652/project/1210542925864934/task/1218392303871954
PR naming convention
Your PR title must follow this format or merging will be blocked:
Example titles:
feat: add retry logic to job approvalfix: handle timeout in notification senderdocs: update syft-bg READMEchore: bump dependenciesrefactor: split init flow into helperstest: add criteria validation testsci: add release train workflowAllowed types:
featfeat: add DS rejection emailsfixfix: handle empty peer listdocsdocs: update syft-bg READMEchorechore: bump dependenciesrefactorrefactor: split init flowtesttest: add approval criteria testscici: add release train workflowperfperf: cache Drive API responsesbuildbuild: pin syft-bg>=0.2.0Just edit the PR title to fix any errors — the check re-runs automatically.
Auto-labeling
Labels are applied automatically — you don't need to add them manually:
feat:addsfeature,fix:addsbugfix)packages/syft-bg/addspkg:syft-bg)These labels are used to auto-generate categorized release notes.